NumberFormatter sınıfı

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Giriş

Programlar sayılar üzerinde işlem yapmak ve bunları saklamak için yerelden bağımsız bir ikil gösterim kullanırlar. 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üzdeleri öntanımlı yerele veya belirtilen yerele uygun olarak biçemleyebilirsiniz. NumberFormatter sınıfı yerele duyarlı olduğundan her yerel için yeni bir sayı biçemleyici oluşturmanız 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ünü kullanabilirsiniz. Şü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 belirttiğiniz miktarı görürsünüz. 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

NumberFormatter {
/* Yöntemler */
__construct ( string $yerel , int $tür [, string $kalıp ] )
static create ( string $yerel , int $tür [, string $kalıp ] ) : NumberFormatter
formatCurrency ( float $değer , string $para_birimi ) : string
format ( number $değer [, int $tür ] ) : string
getAttribute ( int $biçemleyici ) : int
getErrorCode ( void ) : int
getErrorMessage ( void ) : string
getLocale ([ int $tür ] ) : string
getPattern ( void ) : string
getSymbol ( int $öznitelik ) : string
getTextAttribute ( int $öznitelik ) : string
parseCurrency ( string $değer , string &$dizge [, int &$konum ] ) : float
parse ( string $değer [, int $tür [, int &$konum ]] ) : mixed
setAttribute ( int $öznitelik , int $değer ) : bool
setPattern ( string $kalıp ) : bool
setSymbol ( int $öznitelik , string $değer ) : bool
setTextAttribute ( 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 (integer)
Şablona göre tanımlı ondalık biçem
NumberFormatter::DECIMAL (integer)
Ondalık biçem
NumberFormatter::CURRENCY (integer)
Para birimi biçemi
NumberFormatter::PERCENT (integer)
Yüzde biçemi
NumberFormatter::SCIENTIFIC (integer)
Bilimsel sayı gösterim biçemi
NumberFormatter::SPELLOUT (integer)
Kurala dayalı heceleme biçemi
NumberFormatter::ORDINAL (integer)
Kurala dayalı sıra gösterim biçemi
NumberFormatter::DURATION (integer)
Kurala dayalı süre gösterim biçemi
NumberFormatter::PATTERN_RULEBASED (integer)
Şablona göre tanımlı kurala dayalı biçem
NumberFormatter::DEFAULT_STYLE (integer)
Yerele özgü öntanımlı biçem
NumberFormatter::IGNORE (integer)
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 değiştirgeleri olarak kullanılırlar.

NumberFormatter::TYPE_DEFAULT (integer)
Türü değişken türünden türet
NumberFormatter::TYPE_INT32 (integer)
32 bitlik tamsayı olarak çözümle/biçemle
NumberFormatter::TYPE_INT64 (integer)
64 bitlik tamsayı olarak çözümle/biçemle
NumberFormatter::TYPE_DOUBLE (integer)
Bir kayan noktalı sayı olarak çözümle/biçemle
NumberFormatter::TYPE_CURRENCY (integer)
Para birimi olarak çözümle/biçemle

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

NumberFormatter::PARSE_INT_ONLY (integer)
Sadece tamsayıları çözümle.
NumberFormatter::GROUPING_USED (integer)
Gruplama ayracı kullan.
NumberFormatter::DECIMAL_ALWAYS_SHOWN (integer)
Ondalık noktayı daima göster.
NumberFormatter::MAX_INTEGER_DIGITS (integer)
Azami tamsayı hane sayısı.
NumberFormatter::MIN_INTEGER_DIGITS (integer)
Asgari tamsayı hane sayısı.
NumberFormatter::INTEGER_DIGITS (integer)
Tamsayı hane sayısı.
NumberFormatter::MAX_FRACTION_DIGITS (integer)
Ondalık kısım azami hane sayısı
NumberFormatter::MIN_FRACTION_DIGITS (integer)
Ondalık kısım asgari hane sayısı.
NumberFormatter::FRACTION_DIGITS (integer)
Ondalık kısım hane sayısı
NumberFormatter::MULTIPLIER (integer)
Çarpan.
NumberFormatter::GROUPING_SIZE (integer)
Grup genişliği.
NumberFormatter::ROUNDING_MODE (integer)
Yuvarlama kipi.
NumberFormatter::ROUNDING_INCREMENT (integer)
Yuvarlama artışı.
NumberFormatter::FORMAT_WIDTH (integer)
Çıktı biçeminde dolgu genişliği.
NumberFormatter::PADDING_POSITION (integer)
Dolgunun konumu. Olası değerler için dolgu konumlama sabitlerine bakınız.
NumberFormatter::SECONDARY_GROUPING_SIZE (integer)
İkincil gruplama genişliği.
NumberFormatter::SIGNIFICANT_DIGITS_USED (integer)
Kıymetli haneleri kullan.
NumberFormatter::MIN_SIGNIFICANT_DIGITS (integer)
Asgari kıymetli hane sayısı.
NumberFormatter::MAX_SIGNIFICANT_DIGITS (integer)
Azami kıymetli hane sayısı.
NumberFormatter::LENIENT_PARSE (integer)
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 (integer)
Pozitif öneki.
NumberFormatter::POSITIVE_SUFFIX (integer)
Pozitif soneki.
NumberFormatter::NEGATIVE_PREFIX (integer)
Negatif öneki.
NumberFormatter::NEGATIVE_SUFFIX (integer)
Negatif soneki.
NumberFormatter::PADDING_CHARACTER (integer)
Dolgu karakteri.
NumberFormatter::CURRENCY_CODE (integer)
ISO para birimi.
NumberFormatter::DEFAULT_RULESET (integer)
Öntanımlı kural kümesi. Sadece kurala dayalı biçemleyicilerle kullanılabilir.
NumberFormatter::PUBLIC_RULESETS (integer)
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_symbol() ve numfmt_set_symbol() işlevleri tarafından kullanılan sayı biçemleme simgeleri.

NumberFormatter::DECIMAL_SEPARATOR_SYMBOL (integer)
Ondalık ayraç.
NumberFormatter::GROUPING_SEPARATOR_SYMBOL (integer)
Gruplama ayracı.
NumberFormatter::PATTERN_SEPARATOR_SYMBOL (integer)
Şablon ayracı.
NumberFormatter::PERCENT_SYMBOL (integer)
Yüzde imi.
NumberFormatter::ZERO_DIGIT_SYMBOL (integer)
Sıfır.
NumberFormatter::DIGIT_SYMBOL (integer)
Şablonda bir rakamı ifade eden karakter.
NumberFormatter::MINUS_SIGN_SYMBOL (integer)
Eksi imi.
NumberFormatter::PLUS_SIGN_SYMBOL (integer)
Artı imi.
NumberFormatter::CURRENCY_SYMBOL (integer)
Para birimi simgesi.
NumberFormatter::INTL_CURRENCY_SYMBOL (integer)
Uluslararası para birimi simgesi.
NumberFormatter::MONETARY_SEPARATOR_SYMBOL (integer)
Para ayracı.
NumberFormatter::EXPONENTIAL_SYMBOL (integer)
Üstel imi.
NumberFormatter::PERMILL_SYMBOL (integer)
Binde imi.
NumberFormatter::PAD_ESCAPE_SYMBOL (integer)
Öncelem dolgu karakteri.
NumberFormatter::INFINITY_SYMBOL (integer)
Sonsuz imi.
NumberFormatter::NAN_SYMBOL (integer)
Bir-sayı-değil imi.
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL (integer)
Kıymetli hane imi.
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL (integer)
Para gruplama imi.

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 (integer)
Pozitif sonsuza yuvarlama kipi.
NumberFormatter::ROUND_DOWN (integer)
Sıfıra yuvarlama kipi.
NumberFormatter::ROUND_FLOOR (integer)
Negatif sonsuza yuvarlama kipi.
NumberFormatter::ROUND_HALFDOWN (integer)
İki komşuya da eşit uzaklıkta olmamak koşuluyla aşağı yuvarlama kipi.
NumberFormatter::ROUND_HALFEVEN (integer)
İki komşuya da eşit uzaklıkta olmamak koşuluyla çift sayılı komşuya yuvarlama kipi.
NumberFormatter::ROUND_HALFUP (integer)
İki komşuya da eşit uzaklıkta olmamak koşuluyla yukarı yuvarlama kipi.
NumberFormatter::ROUND_UP (integer)
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 (integer)
Dolgu karakterlerini önekten sonra yerleştir.
NumberFormatter::PAD_AFTER_SUFFIX (integer)
Dolgu karakterlerini sonekten sonra yerleştir.
NumberFormatter::PAD_BEFORE_PREFIX (integer)
Dolgu karakterlerini önekten önce yerleştir.
NumberFormatter::PAD_BEFORE_SUFFIX (integer)
Dolgu karakterlerini sonekten önce yerleştir.

İçindekiler