(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Programas armazenam e operam números usando uma representação binária que não depende da localidade. Ao apresentar ou imprimir um número, ele é convertido para uma string específica para a localidade. Por exemplo, o número 12345.67 é "12,345.67" nos Estados Unidos, "12 345,67" na França e "12.345,67" na Alemanha e no Brasil.
Ao invocar os métodos fornecidos pela classe NumberFormatter, pode-se formatar números, moedas, e percentagens de acordo com o especificado ou com a localidade padrão. NumberFormatter é sensível à localidade, portanto é necessário criar um novo objeto NumberFormatter para cada localidade. Métodos NumberFormatter formatam números com tipos primitivos, como 'double' e mostram o número como uma string específica para a localidade
Para moedas, pode-se usar o tipo de formato de moeda para criar um formatador que retorne uma string com o número formatado e com o sinal apropriado para a moeda. Obviamente, a classe NumberFormatter não tem ciência de taxas de câmbio, portanto, a saída é a mesma independente da moeda especificada. Isto significa que o mesmo número tem diferentes valores monteários dependendo da moeda da localidade. Se o número for 9988776.65, os resultados serão:
Para formatar percentagens, deve-se criar um formatador específico da localidade com o tipo de formato de percentual. Com este formatados, uma fração decimal como 0.75 é mostrada como 75%.
Para formatações mais complexas, como números por extenso, os formatadores de número baseados em regras são utilizados.
Estes estilos são usados pela função numfmt_create() para definir o tipo do formatador.
NumberFormatter::PATTERN_DECIMAL
int
NumberFormatter::DECIMAL
int
NumberFormatter::CURRENCY
int
NumberFormatter::PERCENT
int
NumberFormatter::SCIENTIFIC
int
NumberFormatter::SPELLOUT
int
NumberFormatter::ORDINAL
int
NumberFormatter::DURATION
int
NumberFormatter::PATTERN_RULEBASED
int
NumberFormatter::CURRENCY_ACCOUNTING
int
($3.00)
para quantidade negativa de moeda
ao invés de -$3.00
. Disponível a partir do PHP 7.4.1 e ICU 53.
NumberFormatter::DEFAULT_STYLE
int
NumberFormatter::IGNORE
int
Estas constantes definem como os números são analisados ou formatados. Eles devem ser usados como argumentos para as funções numfmt_format() e numfmt_parse().
NumberFormatter::TYPE_DEFAULT
int
NumberFormatter::TYPE_INT32
int
NumberFormatter::TYPE_INT64
int
NumberFormatter::TYPE_DOUBLE
int
NumberFormatter::TYPE_CURRENCY
int
Atributo de formato de número usado pelas funções numfmt_get_attribute() e numfmt_set_attribute().
NumberFormatter::PARSE_INT_ONLY
int
NumberFormatter::GROUPING_USED
int
NumberFormatter::DECIMAL_ALWAYS_SHOWN
int
NumberFormatter::MAX_INTEGER_DIGITS
int
NumberFormatter::MIN_INTEGER_DIGITS
int
NumberFormatter::INTEGER_DIGITS
int
NumberFormatter::MAX_FRACTION_DIGITS
int
NumberFormatter::MIN_FRACTION_DIGITS
int
NumberFormatter::FRACTION_DIGITS
int
NumberFormatter::MULTIPLIER
int
NumberFormatter::GROUPING_SIZE
int
NumberFormatter::ROUNDING_MODE
int
NumberFormatter::ROUNDING_INCREMENT
int
NumberFormatter::FORMAT_WIDTH
int
NumberFormatter::PADDING_POSITION
int
NumberFormatter::SECONDARY_GROUPING_SIZE
int
NumberFormatter::SIGNIFICANT_DIGITS_USED
int
NumberFormatter::MIN_SIGNIFICANT_DIGITS
int
NumberFormatter::MAX_SIGNIFICANT_DIGITS
int
NumberFormatter::LENIENT_PARSE
int
Atributo de texto de formato numérico usado por numfmt_get_text_attribute() e numfmt_set_text_attribute().
NumberFormatter::POSITIVE_PREFIX
int
NumberFormatter::POSITIVE_SUFFIX
int
NumberFormatter::NEGATIVE_PREFIX
int
NumberFormatter::NEGATIVE_SUFFIX
int
NumberFormatter::PADDING_CHARACTER
int
NumberFormatter::CURRENCY_CODE
int
NumberFormatter::DEFAULT_RULESET
int
NumberFormatter::PUBLIC_RULESETS
int
Símbolos de formato de número usados por numfmt_get_symbol() e numfmt_set_symbol().
NumberFormatter::DECIMAL_SEPARATOR_SYMBOL
int
NumberFormatter::GROUPING_SEPARATOR_SYMBOL
int
NumberFormatter::PATTERN_SEPARATOR_SYMBOL
int
NumberFormatter::PERCENT_SYMBOL
int
NumberFormatter::ZERO_DIGIT_SYMBOL
int
NumberFormatter::DIGIT_SYMBOL
int
NumberFormatter::MINUS_SIGN_SYMBOL
int
NumberFormatter::PLUS_SIGN_SYMBOL
int
NumberFormatter::CURRENCY_SYMBOL
int
NumberFormatter::INTL_CURRENCY_SYMBOL
int
NumberFormatter::MONETARY_SEPARATOR_SYMBOL
int
NumberFormatter::EXPONENTIAL_SYMBOL
int
NumberFormatter::PERMILL_SYMBOL
int
NumberFormatter::PAD_ESCAPE_SYMBOL
int
NumberFormatter::INFINITY_SYMBOL
int
NumberFormatter::NAN_SYMBOL
int
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL
int
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL
int
Valores de modo de arredondamento usados por numfmt_get_attribute()
e numfmt_set_attribute() com o atributo
NumberFormatter::ROUNDING_MODE
.
NumberFormatter::ROUND_AWAY_FROM_ZERO
NumberFormatter::ROUND_UP
.
NumberFormatter::ROUND_CEILING
int
NumberFormatter::ROUND_DOWN
int
NumberFormatter::ROUND_FLOOR
int
NumberFormatter::ROUND_HALFDOWN
int
NumberFormatter::ROUND_HALFEVEN
int
NumberFormatter::ROUND_HALFODD
NumberFormatter::ROUND_HALFUP
int
NumberFormatter::ROUND_TOWARD_ZERO
NumberFormatter::ROUND_DOWN
.
NumberFormatter::ROUND_UP
int
Valores de posição de preenchimento usados por numfmt_get_attribute()
e numfmt_set_attribute() com o atributo
NumberFormatter::PADDING_POSITION
.
NumberFormatter::PAD_AFTER_PREFIX
int
NumberFormatter::PAD_AFTER_SUFFIX
int
NumberFormatter::PAD_BEFORE_PREFIX
int
NumberFormatter::PAD_BEFORE_SUFFIX
int
Versão | Descrição |
---|---|
8.4.0 | As constantes de classe agora são tipadas. |