£2ではなく£2.00 、または£3.5ではなく£3.50を表示したいのですが。
これらの番号は、MySQLデータベースのようにprice
定義されているとしましょう。DOUBLE
MySQLまたはPHPに小数点以下2桁を表示させるにはどうすればよいですか?
どうもありがとう!
MySQLの場合、次のformat
関数を使用できます。
SELECT FORMAT(1.2345, 2);
1.23を返します
PHPの場合number_format
、同様の方法で使用できます。
echo number_format(1.2345, 2);
また、1.23を印刷します
これを試して:
echo number_format ($price, 2);
number_format
そしてmoney_format
あなたの友達です!
他の答えは、値を小数点以下2桁にフォーマットする限り、正しいです。
ただし、質問のコンテキストを考えると、より良い答えはデータ型を使用しないことですDOUBLE
-少なくとも、この目的ではありません。
のような浮動小数点データ型DOUBLE
は概算であり、正確な数値を表すものではありません。質量や長さなどの連続量を表すのに役立ちます。通貨のような個別の数量では、それらは悲惨な結果になる可能性があり、非常に予期しない結果につながります。このような数量の場合は、代わりにMySQLのような固定小数点タイプを使用する必要があります。これにより、スケール(つまり、格納する小数点以下の桁数)を指定できるため、正しい通貨値を生成するためにこのような書式設定や丸めは必要ありません。DECIMAL