(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::parse -- numfmt_parse — Parse a number
面向对象风格
$string, int $type = NumberFormatter::TYPE_DOUBLE, int &$offset = null): int|float|false过程化风格
$formatter,$string,$type = NumberFormatter::TYPE_DOUBLE,&$offset = nullParse a string into a number using the current formatter rules.
formatterNumberFormatter object.
stringThe string to parse for the number.
type
The
formatting type to use. By default,
NumberFormatter::TYPE_DOUBLE is used.
Note that NumberFormatter::TYPE_CURRENCY is not supported;
use NumberFormatter::parseCurrency() instead.
offsetOffset 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