数値をドルとセントを示す文字列に変換するにはどうすればよいですか?
eg:
123.45 => '$123.45'
123.456 => '$123.46'
123 => '$123.00'
.13 => '$0.13'
.1 => '$0.10'
0 => '$0.00'
数値をドルとセントを示す文字列に変換するにはどうすればよいですか?
eg:
123.45 => '$123.45'
123.456 => '$123.46'
123 => '$123.00'
.13 => '$0.13'
.1 => '$0.10'
0 => '$0.00'
PHP にはmoney_format()もあります。
次に例を示します。
echo money_format('$%i', 3.4); // echos '$3.40'
この関数には実際にはたくさんのオプションがあります。リンク先のドキュメントにアクセスしてそれらを確認してください。
注: money_format は Windows では定義されていません。
更新: PHP マニュアル経由: https://www.php.net/manual/en/function.money-format.php
警告: この関数 [ money_format ] は、PHP 7.4.0 で非推奨になりました。この関数に依存することはお勧めできません。
代わりに、NumberFormatter::formatCurrencyを調べてください。
$number = "123.45";
$formatter = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
return $formatter->formatCurrency($number, 'USD');
試し money_format()
てみましたが、まったくうまくいきませんでした。それから私は次のものを試しました。それは私にとって完璧に機能しました。うまくいけば、それはあなたにとっても正しい方法で機能します.. :)
あなたはこれを使うべきです
number_format($money, 2,'.', ',')
小数点以下 2 桁までの通貨形式で表示されます。
PHPおよびC++では、printf()関数を使用できます
printf("$%01.2f", $money);
PHP 7.4 では、money_format() 関数は非推奨であることに注意してください。intl NumberFormatter 機能に置き換えることができます。php-intl 拡張機能を有効にしてください。これはわずかな労力であり、多くのカスタマイズ機能を利用できるため、それだけの価値があります。
$f = new NumberFormatter("en", NumberFormatter::CURRENCY);
$f->formatCurrency(12345, "USD"); // Outputs "$12,345.00"
Darryl Heinが述べたように、7.4 でも機能する高速な方法は次のとおりです。
'$' . number_format($money, 2);