NumberFormatter::parse
numfmt_parse
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
NumberFormatter::parse -- numfmt_parse — Parse a number
Описание
Объектно-ориентированный стиль
Процедурный стиль
Parse a string into a number using the current formatter rules.
Список параметров
-
fmt
-
NumberFormatter object.
-
type
-
The formatting type to use. By default,
NumberFormatter::TYPE_DOUBLE
is used. -
position
-
Offset in the string at which to begin parsing. On return, this value will hold the offset at which parsing ended.
Возвращаемые значения
The value of the parsed number or FALSE
on error.
Примеры
Пример #1 numfmt_parse() example
<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo numfmt_parse($fmt, $num)."\n";
echo numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";
?>
Пример #2 OO example
<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";
echo $fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
?>
Результат выполнения данного примера:
1234567.891 1234567
Смотрите также
- numfmt_get_error_code() - Get formatter's last error code.
- numfmt_format() - Format a number
- numfmt_parse_currency() - Parse a currency number
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Поддержка языков и кодировок
- Internationalization Functions
- Функция NumberFormatter::create() - Create a number formatter
- Функция NumberFormatter::formatCurrency() - Format a currency value
- Функция NumberFormatter::format() - Format a number
- Функция NumberFormatter::getAttribute() - Get an attribute
- Функция NumberFormatter::getErrorCode() - Get formatter's last error code.
- Функция NumberFormatter::getErrorMessage() - Get formatter's last error message.
- Функция NumberFormatter::getLocale() - Get formatter locale
- Функция NumberFormatter::getPattern() - Get formatter pattern
- Функция NumberFormatter::getSymbol() - Get a symbol value
- Функция NumberFormatter::getTextAttribute() - Get a text attribute
- Функция NumberFormatter::parseCurrency() - Parse a currency number
- Функция NumberFormatter::parse() - Parse a number
- Функция NumberFormatter::setAttribute() - Set an attribute
- Функция NumberFormatter::setPattern() - Set formatter pattern
- Функция NumberFormatter::setSymbol() - Set a symbol value
- Функция NumberFormatter::setTextAttribute() - Set a text attribute
Коментарии
It interesting to note that the expected behavior for this function may change according to your ICU version.
In ICU 4.4.2 (standard for Ubuntu 10.* with PHP 5.3.5)
With locale 'en', input of 100,1 returns 1001
In ICU 4.8.1 (standard for Ubuntu 12.* with PHP 5.3.10)
With locale 'en', input of 100,1 returns "false"
Be sure to note your ICU version in phpinfo() to be sure you will get the expected output.
'en_EN':
basically the first part is the language and the second part the region:
'en_EN' - english, England
'en_US' - english, United States
You can lookup the language tags like 'en_EN' here:
https://datahub.io/core/language-codes
see "ietf-language-tags"