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.NumberFormatter::parse
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
NumberFormatter::parse
Референца за `numberformatter.parse.php` со подобрена типографија и навигација.
NumberFormatter::parse
numfmt_parse
Класата Collator
NumberFormatter::parse -- numfmt_parse — Parse a number
= NULL
Напиши целосна ознака на елемент
$string, int $type = NumberFormatter::TYPE_DOUBLE, int &$offset = null): int|float|falseПроцедурален стил
NumberFormatter
$formatter,string
$string,int
$type = NumberFormatter::TYPE_DOUBLE,int
&$offset = null): int|float|false
Parse a string into a number using the current formatter rules.
Параметри
formatter-
NumberFormatter object.
string-
The string to parse for the number.
type-
На тип на форматирање to use. By default,
NumberFormatter::TYPE_DOUBLEis used. Note thatNumberFormatter::TYPE_CURRENCYне е поддржано; користете NumberFormatter::parseCurrency() instead. offset-
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 при грешка.
Примери
Пример #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 пример
<?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";
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
1234567.891 1234567
Види Исто така
- numfmt_get_error_code() - Земете атрибут
- numfmt_format() - Создајте форматирач на броеви
- numfmt_parse_currency() - Парсирајте број
Белешки од корисници 2 забелешки
'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"