(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
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:
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.
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)
NumberFormatter::DECIMAL
(integer)
NumberFormatter::CURRENCY
(integer)
NumberFormatter::PERCENT
(integer)
NumberFormatter::SCIENTIFIC
(integer)
NumberFormatter::SPELLOUT
(integer)
NumberFormatter::ORDINAL
(integer)
NumberFormatter::DURATION
(integer)
NumberFormatter::PATTERN_RULEBASED
(integer)
NumberFormatter::DEFAULT_STYLE
(integer)
NumberFormatter::IGNORE
(integer)
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)
NumberFormatter::TYPE_INT32
(integer)
NumberFormatter::TYPE_INT64
(integer)
NumberFormatter::TYPE_DOUBLE
(integer)
NumberFormatter::TYPE_CURRENCY
(integer)
numfmt_get_attribute() ve numfmt_set_attribute() işlevi tarafından kullanılan sayı biçemleme öznitelikleri:
NumberFormatter::PARSE_INT_ONLY
(integer)
NumberFormatter::GROUPING_USED
(integer)
NumberFormatter::DECIMAL_ALWAYS_SHOWN
(integer)
NumberFormatter::MAX_INTEGER_DIGITS
(integer)
NumberFormatter::MIN_INTEGER_DIGITS
(integer)
NumberFormatter::INTEGER_DIGITS
(integer)
NumberFormatter::MAX_FRACTION_DIGITS
(integer)
NumberFormatter::MIN_FRACTION_DIGITS
(integer)
NumberFormatter::FRACTION_DIGITS
(integer)
NumberFormatter::MULTIPLIER
(integer)
NumberFormatter::GROUPING_SIZE
(integer)
NumberFormatter::ROUNDING_MODE
(integer)
NumberFormatter::ROUNDING_INCREMENT
(integer)
NumberFormatter::FORMAT_WIDTH
(integer)
NumberFormatter::PADDING_POSITION
(integer)
NumberFormatter::SECONDARY_GROUPING_SIZE
(integer)
NumberFormatter::SIGNIFICANT_DIGITS_USED
(integer)
NumberFormatter::MIN_SIGNIFICANT_DIGITS
(integer)
NumberFormatter::MAX_SIGNIFICANT_DIGITS
(integer)
NumberFormatter::LENIENT_PARSE
(integer)
numfmt_get_text_attribute() ve numfmt_set_text_attribute() işlevlerinde kullanılan sayı biçemi metin öznitelikleri:
NumberFormatter::POSITIVE_PREFIX
(integer)
NumberFormatter::POSITIVE_SUFFIX
(integer)
NumberFormatter::NEGATIVE_PREFIX
(integer)
NumberFormatter::NEGATIVE_SUFFIX
(integer)
NumberFormatter::PADDING_CHARACTER
(integer)
NumberFormatter::CURRENCY_CODE
(integer)
NumberFormatter::DEFAULT_RULESET
(integer)
NumberFormatter::PUBLIC_RULESETS
(integer)
numfmt_get_symbol() ve numfmt_set_symbol() işlevleri tarafından kullanılan sayı biçemleme simgeleri.
NumberFormatter::DECIMAL_SEPARATOR_SYMBOL
(integer)
NumberFormatter::GROUPING_SEPARATOR_SYMBOL
(integer)
NumberFormatter::PATTERN_SEPARATOR_SYMBOL
(integer)
NumberFormatter::PERCENT_SYMBOL
(integer)
NumberFormatter::ZERO_DIGIT_SYMBOL
(integer)
NumberFormatter::DIGIT_SYMBOL
(integer)
NumberFormatter::MINUS_SIGN_SYMBOL
(integer)
NumberFormatter::PLUS_SIGN_SYMBOL
(integer)
NumberFormatter::CURRENCY_SYMBOL
(integer)
NumberFormatter::INTL_CURRENCY_SYMBOL
(integer)
NumberFormatter::MONETARY_SEPARATOR_SYMBOL
(integer)
NumberFormatter::EXPONENTIAL_SYMBOL
(integer)
NumberFormatter::PERMILL_SYMBOL
(integer)
NumberFormatter::PAD_ESCAPE_SYMBOL
(integer)
NumberFormatter::INFINITY_SYMBOL
(integer)
NumberFormatter::NAN_SYMBOL
(integer)
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL
(integer)
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL
(integer)
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)
NumberFormatter::ROUND_DOWN
(integer)
NumberFormatter::ROUND_FLOOR
(integer)
NumberFormatter::ROUND_HALFDOWN
(integer)
NumberFormatter::ROUND_HALFEVEN
(integer)
NumberFormatter::ROUND_HALFUP
(integer)
NumberFormatter::ROUND_UP
(integer)
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)
NumberFormatter::PAD_AFTER_SUFFIX
(integer)
NumberFormatter::PAD_BEFORE_PREFIX
(integer)
NumberFormatter::PAD_BEFORE_SUFFIX
(integer)