php 去除小数点后多余的 0 的方法(仅去除不必要的0)

admin 阅读:55 2024-02-29

在日常开发过程中,由于精度的问题,有时会出现小数点后显示很多补位的0的问题,如下图:

今天介绍几种实现去掉小数点末尾多余的0的方法:

方法一、直接加0

因为PHP是弱类型,可以直接进行数学运算转化为数字。

<?php
echo '100.00' + 0 ."<br>";
echo '100.01000' + 0 ."<br>";
echo '100.10000' + 0 ."<br>";
?>

输出:

100
100.01
100.1

方法二、使用floatval()函数

floatval() 函数会返回变量的浮点值

<?php
echo floatval('100.00')."<br>";
echo floatval('100.01000')."<br>";
echo floatval('100.10000')."<br>";
?>

输出:

100
100.01
100.1

方法三、使用rtrim()函数

rtrim() 函数删除字符串末端的指定字符

<?php
echo rtrim(rtrim('100.00', '0'), '.')."<br>";
echo rtrim(rtrim('100.01000', '0'), '.')."<br>";
echo rtrim(rtrim('100.10000', '0'), '.')."<br>";
?>

输出:

100
100.01
100.1

方法四、使用正则表达式

正则表达式说明:/0+$/ 去掉末尾多余的0,/[.]$/ 去掉末尾的“.”。

<?php
echo preg_replace('/[.]$/', '', preg_replace('/0+$/', '', '100.00'))."<br>";
echo preg_replace('/[.]$/', '', preg_replace('/0+$/', '', '100.1000'))."<br>";
echo preg_replace('/[.]$/', '', preg_replace('/0+$/', '', '100.010203000'))."<br>";
?>

输出结果:

100
100.1
100.010203
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!