Giriş
PHP Manual
PHP Manual»Intl»Sayı Biçemleyici

NumberFormatter sınıfı

(No version information available, might only be in Git)

Uygulamalar sayılar üzerinde işlem yapmak ve bunları saklamak için yerelden bağımsız bir ikil gösterim kullanır. Sayılar gösterilirken veya basılırken bunlar yerele özgü dizgelere dönüştürülür. Örneğin, 12345.67 sayısı ABD için "12,345.67", Fransa için "12 345,67" ve Almanya ve Türkiye için "12.345,67" biçimindedir.

NumberFormatter (SayıBiçemleyici) sınıfınca sağlanmış yöntemleri çağırmak suretiyle sayılar, paralar ve yüzdeler öntanımlı yerele veya belirtilen yerele uygun olarak biçemlenebilir. NumberFormatter sınıfı yerele duyarlı olduğundan her yerel için yeni bir sayı biçemleyici oluşturmak gerekir. NumberFormatter sınıfının yöntemleri kayan noktalı sayılar gibi ilkel sayı türlerini biçemler ve bunları yerele özgü dizgeler olarak çıktılar.

Paraları, uygun bir sayı ve para birimi simgesiyle biçemleyip bir dizge olarak döndürmek için bir biçemleyici oluşturmak amacıyla para biçemleme türü kullanılabilir. Şüphesiz, NumberFormatter sınıfı paralar arasındaki kıymet oranlarını bilmez ve belirtilen paranın değerini belirtilen yerele göre dönüştürmez. Yani para birimi ne olursa olsun para biriminin yanında hep belirtilen miktar görünür. 9988776.65 değeri için sonuçlar şöyle olabilir:

  • Fransa'da 9 988 776,65 €
  • Türkiye'de 9.988.776,65 YTL veya 9.988.776 TL
  • ABD'de $9,988,776.65

Yüzdeleri biçemlemek için, yüzde biçemleme türü kullanılarak yerele özgü bir biçemleyici oluşturulur. Bu biçemleyici ile örneğin, 0.75 gibi bir ondalık sayı %75 olarak gösterilir.

Sayıların hecelenmesi gibi daha karmaşık biçemlemeler için kurala dayalı sayı biçemleyici kullanılır.

class NumberFormatter {
/* Sabitler */
public const int PATTERN_DECIMAL;
public const int DECIMAL;
public const int CURRENCY;
public const int PERCENT;
public const int SCIENTIFIC;
public const int SPELLOUT;
public const int ORDINAL;
public const int DURATION;
public const int PATTERN_RULEBASED;
public const int IGNORE;
public const int CURRENCY_ACCOUNTING;
public const int DEFAULT_STYLE;
public const int ROUND_CEILING;
public const int ROUND_FLOOR;
public const int ROUND_DOWN;
public const int ROUND_UP;
public const int ROUND_HALFEVEN;
public const int ROUND_HALFDOWN;
public const int ROUND_HALFUP;
public const int PAD_BEFORE_PREFIX;
public const int PAD_AFTER_PREFIX;
public const int PAD_BEFORE_SUFFIX;
public const int PAD_AFTER_SUFFIX;
public const int PARSE_INT_ONLY;
public const int GROUPING_USED;
public const int MAX_INTEGER_DIGITS;
public const int MIN_INTEGER_DIGITS;
public const int INTEGER_DIGITS;
public const int MAX_FRACTION_DIGITS;
public const int MIN_FRACTION_DIGITS;
public const int FRACTION_DIGITS;
public const int MULTIPLIER;
public const int GROUPING_SIZE;
public const int ROUNDING_MODE;
public const int ROUNDING_INCREMENT;
public const int FORMAT_WIDTH;
public const int PADDING_POSITION;
public const int LENIENT_PARSE;
public const int POSITIVE_PREFIX;
public const int POSITIVE_SUFFIX;
public const int NEGATIVE_PREFIX;
public const int NEGATIVE_SUFFIX;
public const int PADDING_CHARACTER;
public const int CURRENCY_CODE;
public const int DEFAULT_RULESET;
public const int PUBLIC_RULESETS;
public const int PERCENT_SYMBOL;
public const int ZERO_DIGIT_SYMBOL;
public const int DIGIT_SYMBOL;
public const int MINUS_SIGN_SYMBOL;
public const int PLUS_SIGN_SYMBOL;
public const int CURRENCY_SYMBOL;
public const int EXPONENTIAL_SYMBOL;
public const int PERMILL_SYMBOL;
public const int PAD_ESCAPE_SYMBOL;
public const int INFINITY_SYMBOL;
public const int NAN_SYMBOL;
public const int TYPE_DEFAULT;
public const int TYPE_INT32;
public const int TYPE_INT64;
public const int TYPE_DOUBLE;
public const int TYPE_CURRENCY;
/* Yöntemler */
public function __construct(string $yerel, int $tür, ?string $kalıp = null)
public static function create(string $yerel, int $tür, ?string $kalıp = null): ?NumberFormatter
public function format(int|float $sayı, int $tür = NumberFormatter::TYPE_DEFAULT): string|false
public function formatCurrency(float $miktar, string $para_birimi): string|false
public function getAttribute(int $öznitelik): int|float|false
public function getErrorCode(): int
public function getErrorMessage(): string
public function getLocale(int $tür = ULOC_ACTUAL_LOCALE): string|false
public function getPattern(): string|false
public function getSymbol(int $simge): string|false
public function getTextAttribute(int $öznitelik): string|false
public function parse(string $dizge, int $tür = NumberFormatter::TYPE_DOUBLE, int &$konum = null): int|float|false
public function parseCurrency(string $dizge, string &$para_simgesi, int &$konum = null): float|false
public function setAttribute(int $öznitelik, int|float $değer): bool
public function setPattern(string $kalıp): bool
public function setSymbol(int $simge, string $değer): bool
public function setTextAttribute(int $öznitelik, string $değer): bool
}

Bu biçemler numfmt_create() işlevi tarafından biçemleyici türünü tanımlamak için kullanılırlar.

NumberFormatter::PATTERN_DECIMAL

Şablona göre tanımlı ondalık biçem

NumberFormatter::DECIMAL

Ondalık biçem

NumberFormatter::CURRENCY

Para birimi biçemi

NumberFormatter::PERCENT

Yüzde biçemi

NumberFormatter::SCIENTIFIC

Bilimsel sayı gösterim biçemi

NumberFormatter::SPELLOUT

Kurala dayalı heceleme biçemi

NumberFormatter::ORDINAL

Kurala dayalı sıra gösterim biçemi

NumberFormatter::DURATION

Kurala dayalı süre gösterim biçemi

NumberFormatter::PATTERN_RULEBASED

Şablona göre tanımlı kurala dayalı biçem

NumberFormatter::CURRENCY_ACCOUNTING

Muhasebe için para birimi biçemi, örneğin, negatif para birimi miktarı için -$3.00 yerine ($3.00) gibi. PHP 7.4.1 itibariyle ve ICU 53 ile kullanılabilir.

NumberFormatter::DEFAULT_STYLE

Yerele özgü öntanımlı biçem

NumberFormatter::IGNORE

PATTERN_DECIMAL için takma ad

Bu sabitler sayıların nasıl çözümlenip biçemleneceğini tanımlar. numfmt_format() ve numfmt_parse() işlevlerinin bağımsız değişkenleri olarak kullanılırlar.

NumberFormatter::TYPE_DEFAULT

Türü değişken türünden türet

NumberFormatter::TYPE_INT32

32 bitlik tamsayı olarak çözümle/biçemle

NumberFormatter::TYPE_INT64

64 bitlik tamsayı olarak çözümle/biçemle

NumberFormatter::TYPE_DOUBLE

Bir kayan noktalı sayı olarak çözümle/biçemle

NumberFormatter::TYPE_CURRENCY

Para birimi olarak çözümle/biçemle. PHP 8.3.0'dan itibaren kullanımdan kaldırılmıştır

numfmt_get_attribute() ve numfmt_set_attribute() işlevi tarafından kullanılan sayı biçemleme öznitelikleri:

NumberFormatter::PARSE_INT_ONLY

Sadece tamsayıları çözümle.

NumberFormatter::GROUPING_USED

Gruplama ayracı kullan.

NumberFormatter::DECIMAL_ALWAYS_SHOWN

Ondalık noktayı daima göster.

NumberFormatter::MAX_INTEGER_DIGITS

Azami tamsayı hane sayısı.

NumberFormatter::MIN_INTEGER_DIGITS

Asgari tamsayı hane sayısı.

NumberFormatter::INTEGER_DIGITS

Tamsayı hane sayısı.

NumberFormatter::MAX_FRACTION_DIGITS

Ondalık kısım azami hane sayısı

NumberFormatter::MIN_FRACTION_DIGITS

Ondalık kısım asgari hane sayısı.

NumberFormatter::FRACTION_DIGITS

Ondalık kısım hane sayısı

NumberFormatter::MULTIPLIER

Çarpan.

NumberFormatter::GROUPING_SIZE

Grup genişliği.

NumberFormatter::ROUNDING_MODE

Yuvarlama kipi.

NumberFormatter::ROUNDING_INCREMENT

Yuvarlama artışı.

NumberFormatter::FORMAT_WIDTH

Çıktı biçeminde dolgu genişliği.

NumberFormatter::PADDING_POSITION

Dolgunun konumu. Olası değerler için dolgu konumlama sabitlerine bakınız.

NumberFormatter::SECONDARY_GROUPING_SIZE

İkincil gruplama genişliği.

NumberFormatter::SIGNIFICANT_DIGITS_USED

Kıymetli haneleri kullan.

NumberFormatter::MIN_SIGNIFICANT_DIGITS

Asgari kıymetli hane sayısı.

NumberFormatter::MAX_SIGNIFICANT_DIGITS

Azami kıymetli hane sayısı.

NumberFormatter::LENIENT_PARSE

Kurala dayalı biçemlerde kullanılan esnek çözümleme kipi.

numfmt_get_text_attribute() ve numfmt_set_text_attribute() işlevlerinde kullanılan sayı biçemi metin öznitelikleri:

NumberFormatter::POSITIVE_PREFIX

Pozitif öneki.

NumberFormatter::POSITIVE_SUFFIX

Pozitif soneki.

NumberFormatter::NEGATIVE_PREFIX

Negatif öneki.

NumberFormatter::NEGATIVE_SUFFIX

Negatif soneki.

NumberFormatter::PADDING_CHARACTER

Dolgu karakteri.

NumberFormatter::CURRENCY_CODE

ISO para birimi.

NumberFormatter::DEFAULT_RULESET

Öntanımlı kural kümesi. Sadece kurala dayalı biçemleyicilerle kullanılabilir.

NumberFormatter::PUBLIC_RULESETS

Genel kural kümeleri. Sadece kurala dayalı biçemleyicilerle kullanılabilir. Salt okunur bir özniteliktir. Genel kural kümeleri, kural kümesi isimleri noktalı virgüllerle (;) ayrılarak tek bir dizge halinde gönderilir.

numfmt_get_attribute() ve numfmt_set_attribute() işlevleri tarafından NumberFormatter::ROUNDING_MODE özniteliği ile kullanılan yuvarlama kipi değerleri.

NumberFormatter::ROUND_CEILING

Pozitif sonsuza yuvarlama kipi.

NumberFormatter::ROUND_DOWN

Sıfıra yuvarlama kipi.

NumberFormatter::ROUND_FLOOR

Negatif sonsuza yuvarlama kipi.

NumberFormatter::ROUND_HALFDOWN

İki komşuya da eşit uzaklıkta olmamak koşuluyla aşağı yuvarlama kipi.

NumberFormatter::ROUND_HALFEVEN

İki komşuya da eşit uzaklıkta olmamak koşuluyla çift sayılı komşuya yuvarlama kipi.

NumberFormatter::ROUND_HALFUP

İki komşuya da eşit uzaklıkta olmamak koşuluyla yukarı yuvarlama kipi.

NumberFormatter::ROUND_UP

Sıfırdan öteye yuvarlama kipi.

numfmt_get_attribute() ve numfmt_set_attribute() işlevleri tarafından NumberFormatter::PADDING_POSITION özniteliği ile birlikte kullanılan dolgu konumu değerleri:

NumberFormatter::PAD_AFTER_PREFIX

Dolgu karakterlerini önekten sonra yerleştir.

NumberFormatter::PAD_AFTER_SUFFIX

Dolgu karakterlerini sonekten sonra yerleştir.

NumberFormatter::PAD_BEFORE_PREFIX

Dolgu karakterlerini önekten önce yerleştir.

NumberFormatter::PAD_BEFORE_SUFFIX

Dolgu karakterlerini sonekten önce yerleştir.

İçindekiler

To Top