问答

php 如何去掉数字末尾的0

作者:admin 2021-06-23 我要评论

比如5.20-5.2 , 5.00-5 ,0.50-0.5 ### 哪儿有那么麻烦,如果是浮点数类型,默认就不会显示后面的0。即 echo 0.10;// 0.1 输入 0.10 实际显示就是 0.1 ,如果是字...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

比如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;
###

floatval()

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • php 如何去掉数字末尾的0

    php 如何去掉数字末尾的0

  • Vue packages version mismatch 版本不

    Vue packages version mismatch 版本不

  • React 使用 ProvidePlugin 作为全局变

    React 使用 ProvidePlugin 作为全局变

  • iview 中按需引入组建时,引入ListI、L

    iview 中按需引入组建时,引入ListI、L

腾讯云代理商
海外云服务器