比如5.20->5.2 , 5.00->5 ,0.50->0.5
对于php来说,你只需要考虑数字字符串,数字变量会自动处理0位,如下所示
function z($number)
{
if (is_string($number)) {
$tmp = rtrim($number, '0');
return rtrim($tmp, '.');
}
return $number;
}
测试
foreach (['5.20', '5.00', '0.50', '0.00',0.00] as $v) {
echo z($v), '---';
}
效果
5.2---5---0.5---0---0---
楼上各位大佬回答的很好,我再加几样处理的方法
$str = '1.20';
echo sprintf('%.1f', $str) . PHP_EOL;
echo rtrim($str, 0) . PHP_EOL;
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答568 阅读✓ 已解决
784 阅读
哪儿有那么麻烦,如果是浮点数类型,默认就不会显示后面的0。即
输入 0.10 实际显示就是 0.1 ,如果是字符串的,才会保留,即
知道了这个条件,因为 PHP 是弱类型,那就直接进行数学运算把他变成数字就好了,最简单的,
+0
即如果我有一个数组需要批量处理呢?这时候就可以配合 array_map 和 floatval 函数了。
参考资料