去掉小数点后面无用的零,必须考虑到整型不去除
方法一
使用正则替换
$price = 12500
$float = 125.65000
str_replace("0+?$", "", $price);
str_replace("0+?$", "", $float );
输出:
“12500”
“125.65”
方法二
网上很多人复制粘贴别人的答案,说用这个floatval() 函数就够了,实测这个函数返回的值是有问题的,会把浮点数的小数无限拉长。
floatval — 获取变量的浮点值
$price = 12500
$float = 125.65000
floatval($price );
floatval($float );
输出:
12500
125.65000000000001
方法三
使用 rtrim()去除右侧的0,但是需要 sprintf() 把数字转换成浮点型,避免误删整型的0
$price = 12500
$float = 125.65000
trim(rtrim(sprintf("%.4f", $price ), '0'),'.');
trim(rtrim(sprintf("%.4f", $float ), '0'),'.');
输出:
“12500”
“125.65”