0

だから私はこの小さな問題を抱えています。数字を入力できるフォームがあります。ヨーロッパ形式で小数点 (,) としてコンマを使用するか、小数点 (.) を使用してアメリカ式にすることができます。

これを知っていると、どうすれば数値形式をヨーロッパ系アメリカ人の形式から変換できますか? そして、アメリカのフォーマットはそのままですか?

この式を使用してみましたが、結果は間違っています。

$american = '12.5';
$european = '12,5';

$locale = 'it_IT.utf8';
setlocale ('LC_NUMERIC', $locale);
$fmt = new NumberFormatter ($locale, NumberFormatter::DECIMAL);
$american = $ fmt->parse($american);
$european = $ fmt->parse($europen);

response

$american = 125
$european = 12.5

問題はどこだ?

php版。5.4.10

4

2 に答える 2

2

次のコードを試してください:

$american = '12.5';
$european = '12,5';

$locale = 'en_US.utf8';
$fmt = new NumberFormatter ($locale, NumberFormatter::DECIMAL);
$american = $fmt->parse($american);

$locale = 'it_IT.utf8';
$fmt = new NumberFormatter ($locale, NumberFormatter::DECIMAL);
$european = $fmt->parse($european);

望ましい結果が得られますか?

于 2013-01-10T12:44:13.103 に答える
0

代わりにstr_replace()を使用する方がよいでしょうか?

于 2013-01-10T12:42:41.973 に答える