0

$num='1.000,00';私はヨーロッパで千の変数を持っています。

この数値の 20% を取得したいのですが$num*0.2;、文字列にコンマではなくドットが使用されているため、間違った結果が得られます。

関数を試してみましたnumber_formatが、千を 1000 ではなく 1 に変換しました。

パーセンテージが計算された後、ヨーロッパの形式で最終結果が返されることを望みます。(200,00)。

4

2 に答える 2

1
$num = '1.000,50';

echo floatval(str_replace(array('.', ','), array('', '.'), $num)) * .2;

コメント後に編集

フロートをより適切に操作できます。文字列を使用する理由 すべての数学演算に実際のフロートを使用し、フロートをユーザーに表示するときに目的の形式に変換します。

そのようです:

$val = 1000.20;
$new_val = $val * .2;

setlocale(LC_MONETARY, 'nl_NL');
echo money_format('%(#10n', $new_val);

結果はEUR 200,04

詳細情報money_format

于 2013-06-02T13:14:29.510 に答える
0
$num = str_replace(array('.', ','), array('', '.'), $num);
于 2013-06-02T13:12:30.490 に答える