【发布时间】:2011-06-19 13:46:53
【问题描述】:
如果我要在 PHP 中输出两个价格,这更像是一个美学问题:
(第一个是123.45,第二个是123.00)
有没有一种方法可以在必要时从第二个价格中删除 .00(仅显示为 = 123),但如果价格的数字大于 0(如第一个价格),则保留它?)。
任何帮助都会很棒,谢谢!
TC
【问题讨论】:
如果我要在 PHP 中输出两个价格,这更像是一个美学问题:
(第一个是123.45,第二个是123.00)
有没有一种方法可以在必要时从第二个价格中删除 .00(仅显示为 = 123),但如果价格的数字大于 0(如第一个价格),则保留它?)。
任何帮助都会很棒,谢谢!
TC
【问题讨论】:
怎么样...
$value = preg_replace('~\.0+$~','',$value);
【讨论】:
如果不想使用(慢)正则表达式,可以使用str_replace:
$value = str_replace('.00', '', $value);
注意:我假设您不想将“123.10”更改为“123.1”,您只想删除双零,对吧?
【讨论】:
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);
【讨论】: