1

重複の可能性:
PHP:小数点以下2桁までの数値を表示

$b = $del['Antal'];
$y = $info['Pris'];
$z = $y * $b;

$ yは、タイプが「double(10,2)」であるmysqlデータベースから取得されるため、echo$yを試してみると機能します。小数点以下2桁で応答します。

しかし今、私はそれを$bで乗算したいと思います。

たとえば、10.20 * 2 = 20.40

しかし、今は次のようになっています:10.20 * 2 = 20.4(小数点以下1桁のみ)

小数点以下2桁が欲しいのですが、どうすればよいですか?(double)関数でいくつか試してみましたが、実際にはうまくいきませんでした。何をすべきか?

4

4 に答える 4

3

number_formatを使用できます:

$b = $del['Antal'];
$y = $info['Pris'];
$z = number_format($y * $b ,2);

number_format関数:

string number_format ( float $number [, int $decimals = 0 ] )

また、デフォルトの形式が必要ない場合:

string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )
于 2013-01-20T19:35:35.277 に答える
2

sprintfを使用して文字列として保存することにより、小数点以下2桁に確実に保存できます。

$z = sprintf('%.2f', $y * $b);

%.2f小数点以下2桁であることを確認してください。

于 2013-01-20T19:35:38.010 に答える
2

説明するデータ型は固定小数点数であり、浮動小数点数(浮動小数点)ではありません。PHPにはそのようなデータ型はありませんが、format浮動小数点にすることができます。そして、それがあなたが探しているもののようで、出力をフォーマットします。

于 2013-01-20T19:36:00.270 に答える
1

試してみてくださいfloatval

$z = $y * floatval($b);

または:

$b = (float) $b;

ただし、10.20を掛けると、自動的にフロートに変換されます。型ジャグリングに関するPHPのドキュメントを読んでください。


それが単なるスタイリングの場合:

$b = number_format($b, 2);
于 2013-01-20T19:34:47.247 に答える