3

£2ではなく£2.00 、または£3.5ではなく£3.50を表示したいのですが。

これらの番号は、MySQLデータベースのようにprice定義されているとしましょう。DOUBLEMySQLまたはPHPに小数点以下2桁を表示させるにはどうすればよいですか?

どうもありがとう!

4

4 に答える 4

9

MySQLの場合、次のformat関数を使用できます。

SELECT FORMAT(1.2345, 2);

1.23を返します

PHPの場合number_format、同様の方法で使用できます。

echo number_format(1.2345, 2);

また、1.23を印刷します

于 2012-05-11T21:58:42.750 に答える
7

これを試して:

echo number_format ($price, 2);
于 2012-05-11T21:50:51.117 に答える
5

number_formatそしてmoney_formatあなたの友達です!

于 2012-05-11T21:50:01.947 に答える
5

他の答えは、値を小数点以下2桁にフォーマットする限り、正しいです。

ただし、質問のコンテキストを考えると、より良い答えはデータ型を使用しないことですDOUBLE-少なくとも、この目的ではありません。

のような浮動小数点データ型DOUBLE概算であり、正確な数値を表すものではありません。質量や長さなどの連続量を表すのに役立ちます。通貨のような個別の数量では、それらは悲惨な結果になる可能性があり、非常に予期しない結果につながります。このような数量の場合は、代わりにMySQLのような固定小数点タイプを使用する必要があります。これにより、スケール(つまり、格納する小数点以下の桁数)を指定できるため、正しい通貨値を生成するためにこのような書式設定や丸めは必要ありませんDECIMAL

于 2012-05-11T23:22:12.143 に答える