比如5.20->5.2 , 5.00->5 ,0.50->0.5
###哪儿有那么麻烦,如果是浮点数类型,默认就不会显示后面的0。即
echo 0.10;
// 0.1
输入 0.10 实际显示就是 0.1 ,如果是字符串的,才会保留,即
echo '0.10';
// 0.10
知道了这个条件,因为 PHP 是弱类型,那就直接进行数学运算把他变成数字就好了,最简单的,+0
即
echo '0.10' + 0;
// 0.1
如果我有一个数组需要批量处理呢?这时候就可以配合 array_map 和 floatval 函数了。
$arr = [1.10,2.20,'3.010','4.10'];
$result = array_map('floatval',$arr);
var_dump($result);
/**
array(4) {
[0] =>
double(1.1)
[1] =>
double(2.2)
[2] =>
double(3.01)
[3] =>
double(4.1)
}
*/
参考资料
###对于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---
###
number_format($number,1)
随便搜一下,第一条结果就是了,最基础的操作了。
###楼上各位大佬回答的很好,我再加几样处理的方法
$str = '1.20';
echo sprintf('%.1f', $str) . PHP_EOL;
echo rtrim($str, 0) . PHP_EOL;
###