我正在尝试找到一种从数值中删除zero decimals
的快速方法,如下所示:
echo cleanNumber('125.00');
// 125
echo cleanNumber('966.70');
// 966.7
echo cleanNumber(844.011);
// 844.011
有没有一些优化的方法可以做到这一点?
发布于 2013-01-26 07:08:44
$num + 0
做到了这一点。
echo 125.00 + 0; // 125
echo '125.00' + 0; // 125
echo 966.70 + 0; // 966.7
在内部,这相当于使用(float)$num
或floatval($num)
转换为浮点数,但我发现它更简单。
发布于 2013-01-26 07:05:52
您可以只使用floatval
函数
echo floatval('125.00');
// 125
echo floatval('966.70');
// 966.7
echo floatval('844.011');
// 844.011
发布于 2014-11-18 03:06:10
这是我使用的:
function TrimTrailingZeroes($nbr) {
return strpos($nbr,'.')!==false ? rtrim(rtrim($nbr,'0'),'.') : $nbr;
}
注:假设.
是小数点分隔符。它的优点是,它可以处理任意大(或小)的数字,因为没有浮点类型转换。它也不会将数字转换为科学记数法(例如1.0E-17)。
https://stackoverflow.com/questions/14531679
复制相似问题