2

米国形式の int を取得します。

$UsInt = "67,450";

ヨーロッパ形式に変換する必要があります。

$EuInt = "67450";

私はstr_replace()virguleを交換するために使用することはできません. str_replace()必須のデポジットは使用しないでください。

number_format()この関数にカンマ区切りの数値を渡すことができないため、 を使用できません

これを行うPHP関数は存在しますか? または、誰かがすでに問題を抱えていて、抜け出すことができましたか?

4

3 に答える 3

3

文字列を「フォーマット解除」するには、次を使用できます

フォーマットされた文字列の例:

$fmt = new NumberFormatter( 'en_US', NumberFormatter::DECIMAL );
$int = $fmt->parse("67,450");

これにより生の整数、例えば 67450 in が得られます$int

次に、使用number_formatまたは使用できます

マニュアルの例:

$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo $fmt->format($int);

これにより、67.450 が得られます (1000 単位の区切りとしてドットを使用)。

フォーマットはロケールに依存することに注意してください。ロケールの地域部分はヨーロッパを指しているかもしれませんが、それ自体は有効なロケールではありません。イギリス人はカンマを 1000 区切り (67,450) として使用しますが、フランス人はスペース (67 450) を使用し、ドイツ人はドット (67.450) を使用します。

数値の解析と書式設定の詳細については、次を参照してください。

于 2013-11-06T10:20:18.600 に答える
3

PHP関数を使用できますnumber_format()

  $EuInt = number_format($UsInt)

詳細については、PHP マニュアルを参照してください。

于 2013-11-06T10:13:02.903 に答える