<?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.89 です
<?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.89 です
私にとっては、1234567.891
andを出力1234567
するので、期待どおりに機能します。ただし、PHPマニュアルのコメントによると、これは使用するバージョンに依存します。
もう 1 つの推測では、これ1 234 567,891
は では有効ですが、 では有効ではありfr_FR
ませんde_DE
。