$num='1.000,00';
私はヨーロッパで千の変数を持っています。
この数値の 20% を取得したいのですが$num*0.2;
、文字列にコンマではなくドットが使用されているため、間違った結果が得られます。
関数を試してみましたnumber_format
が、千を 1000 ではなく 1 に変換しました。
パーセンテージが計算された後、ヨーロッパの形式で最終結果が返されることを望みます。(200,00)。
$num='1.000,00';
私はヨーロッパで千の変数を持っています。
この数値の 20% を取得したいのですが$num*0.2;
、文字列にコンマではなくドットが使用されているため、間違った結果が得られます。
関数を試してみましたnumber_format
が、千を 1000 ではなく 1 に変換しました。
パーセンテージが計算された後、ヨーロッパの形式で最終結果が返されることを望みます。(200,00)。
$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
$num = str_replace(array('.', ','), array('', '.'), $num);