NumberFormatter sınıfı

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

Giriş

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.

Sınıf Sözdizimi

classNumberFormatter {
publicconstintPATTERN_DECIMAL;
publicconstintDECIMAL;
publicconstintCURRENCY;
publicconstintPERCENT;
publicconstintSCIENTIFIC;
publicconstintSPELLOUT;
publicconstintORDINAL;
publicconstintDURATION;
publicconstintIGNORE;
publicconstintDEFAULT_STYLE;
publicconstintROUND_CEILING;
publicconstintROUND_FLOOR;
publicconstintROUND_DOWN;
publicconstintROUND_UP;
publicconstintROUND_HALFEVEN;
publicconstintROUND_HALFDOWN;
publicconstintROUND_HALFUP;
publicconstintPARSE_INT_ONLY;
publicconstintGROUPING_USED;
publicconstintINTEGER_DIGITS;
publicconstintFRACTION_DIGITS;
publicconstintMULTIPLIER;
publicconstintGROUPING_SIZE;
publicconstintROUNDING_MODE;
publicconstintFORMAT_WIDTH;
publicconstintLENIENT_PARSE;
publicconstintPOSITIVE_PREFIX;
publicconstintPOSITIVE_SUFFIX;
publicconstintNEGATIVE_PREFIX;
publicconstintNEGATIVE_SUFFIX;
publicconstintCURRENCY_CODE;
publicconstintDEFAULT_RULESET;
publicconstintPUBLIC_RULESETS;
publicconstintPERCENT_SYMBOL;
publicconstintDIGIT_SYMBOL;
publicconstintCURRENCY_SYMBOL;
publicconstintPERMILL_SYMBOL;
publicconstintINFINITY_SYMBOL;
publicconstintNAN_SYMBOL;
publicconstintTYPE_DEFAULT;
publicconstintTYPE_INT32;
publicconstintTYPE_INT64;
publicconstintTYPE_DOUBLE;
publicconstintTYPE_CURRENCY;
public__construct(string$yerel, int$tür, ?string$kalıp = null)
publicstaticcreate(string$yerel, int$tür, ?string$kalıp = null): ?NumberFormatter
publicformatCurrency(float$miktar, string$para_birimi): string|false
publicformat(int|float$sayı, int$tür = NumberFormatter::TYPE_DEFAULT): string|false
publicgetAttribute(int$öznitelik): int|float|false
publicgetErrorCode(): int
publicgetLocale(int$tür = ULOC_ACTUAL_LOCALE): string|false
publicgetSymbol(int$simge): string|false
publicgetTextAttribute(int$öznitelik): string|false
publicparseCurrency(string$dizge, string&$para_simgesi, int&$konum = null): float|false
publicparse(string$dizge, int$tür = NumberFormatter::TYPE_DOUBLE, int&$konum = null): int|float|false
publicsetAttribute(int$öznitelik, int|float$değer): bool
publicsetPattern(string$kalıp): bool
publicsetSymbol(int$simge, string$değer): bool
publicsetTextAttribute(int$öznitelik, string$değer): bool
}

Öntanımlı Sabitler

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