必要时剥离价格小数

时间:2011-02-01 21:12:32

标签: php decimal currency

如果我用PHP输出两个价格,这更像是一个美学问题:

(第一个是123.45,第二个是123.00

有没有办法可以在必要时从第二个价格中移除.00(显示它只显示为= 123),但是如果价格大于0则保留它(像第一个价格?)。

任何帮助都会很棒,谢谢!

TC

3 个答案:

答案 0 :(得分:20)

怎么样......

$value = preg_replace('~\.0+$~','',$value);

答案 1 :(得分:3)

如果您不想使用(慢)正则表达式,可以使用str_replace:

$value = str_replace('.00', '', $value);

注意:我假设您不想将'123.10'更改为'123.1',您只想删除双零,对吧?

答案 2 :(得分:2)

function round2($decimal,$places = 2){
  $decimal = round($decimal,$places);
  if (floor($decimal)==$decimal)
    return (string)floor($decimal);
  return $decimal;
}
echo round2(123.45)."<br />".round2(123.00);

Something like that?