-3

「9239」という数字が「9.24」と表示されることを願っています。同様に「9.2」は「9.20」と表示されます。「10」の同上は「10.00」と表示されます...

私が使う

$carat = sprintf ('%02d.2f', $carat);

しかし、これはそうではありません

手伝って頂けますか?

4

2 に答える 2

2

printf書式設定だけではそれを行うことはできません。最初に適切な数値に変換します。

$carat = sprintf('%.02f', $carat / 1000);

デモ:

php > printf("%.02f\n", 9239 / 1000);
9.24
php > printf("%.02f\n", 9200 / 1000);
9.20
于 2013-03-14T12:58:30.233 に答える
1

number_format() 関数をよく見ることをお勧めします

php.net から取得した例は次のとおりです。

<?php

$number = 1234.56;

// english notation (default)
$english_format_number = number_format($number);
// 1,235

// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

また、お金専用の関数money_format()があることをお勧めします。

money_format() 関数は、setLocaleに従って適応します。

php.net の number_format()

于 2013-03-14T13:02:02.013 に答える