4

PHPで小数点以下2桁(またはx)を表示する方法はありますが、整数の場合は.00を表示しませんか?

number_formatを見ましたが、これに正確に対応しているようには見えません。ただし、小数点以下3桁ごとにコンマが必要です。

34.00  => 34
34.7   => 34.70
12424.9=> 12,424.90

私の番号は、データベースに小数点以下2桁の浮動小数点数として格納されているため、必ずしも必要ではありません。

4

1 に答える 1

1

あなたができることは、 floor()を使用してそれを丸め、それが完全な10進数バージョンと等しいかどうかをチェックすることによって、最初に整数であるかどうかをチェックすることです。

echo (floor($cost) == $cost) ? floor($cost) : number_format($cost, 2, '.', ',');

また

if (floor($cost) == $cost) {
    echo floor($cost);
}
else {
    echo number_format($cost, 2, '.', ',');
}

別のオプションはmoney_format()を使用することです:

echo (floor($cost) == $cost) ? floor($cost) : money_format('%.2n', $cost);

また

if (floor($cost) == $cost) {
    echo floor($cost);
}
else {
    echo money_format('%.2n', $cost);
}
于 2012-06-04T18:14:37.527 に答える