百分比显示问题

时间:2010-08-29 09:39:20

标签: php formatting

我有一个我在0 -100之间计算的值, 它通常是一个漂浮数字,如5.87876,所以我使用 number_format ,如:

$format_number = number_format($number, 2, '.', '');

问题是,即使计算数字是整数,如:100

它的节目100.00

但我希望将其显示为:100

实现这一目标的优雅方式是什么?

(我的意思是没有别的,如果..)

2 个答案:

答案 0 :(得分:4)

这是我所知道的最短方式。

$digits =        (is_numeric($number) && intval($number) == $number ? 0 : 2);
$format_number = number_format($number, $digits, '.', '');

is_numericintval技巧取自this SO question

答案 1 :(得分:2)

所以你试图在点之后得到两位小数的精度,但是在整数上抑制.00?我用的是sprintf:

$numbers = Array(3.141, 5.87876, 10.9999, 100);


foreach( $numbers as $n ) {
    $string = sprintf("%6.2f\n", $n);
    $string = str_replace(".00", "   ", $string);
    echo $string;
}

输出

  3.14
  5.88
 11   
100