V2版本: 改进操作界面,统一表单样式,更多工具支持批量生成,欢迎使用 到达~


文库 阅读
作者: xiaoyu 10/05 22:30:19

PHP去掉小数点后面末尾的0,并保留非零

PHP编程中,去除小数点后面的0的4个方法

方法一: floatval

floatval — 获取变量的浮点值,并返回 float 类型

$var = '12234300';
$var2 = '122.34300';
var_dump(floatval ($var));
var_dump(floatval ($var2));
打印出
float(12234300)
float(122.343)

方法二: 使用正则

$price = 122500;
$float = 1225.2345000;
var_dump(str_replace("0+?$", "", $price));
var_dump(str_replace("0+?$", "", $float ));
打印出:
string(6) "122500"
string(9) "1225.2345"

方法三: 使用trim

使用这个方法需要先转float类型,例如将100先转成100.0000再去除右边的点和0

$price = 125000;
$float = 125.650000;
var_dump(trim(rtrim(sprintf("%.4f", $price ), '0'),'.'));
var_dump(trim(rtrim(sprintf("%.4f", $float ), '0'),'.'));
打印出:
string(6) "125000"
string(6) "125.65"

方法四: 使用运算

因为PHP是弱类型,浮点数在数学运算后,会去除多余的0再返回,拿到的浮点数就是没有0了。
var_dump( 12234300 + 0 );
var_dump( 122.34300 + 0 );
打印出:
int(12234300)
float(122.343)

网上看到的一些方法,实际测试是有问题的。。

错误一:

$float = 12565000.0;
var_dump(trim(rtrim($float, '0'),'.'));
打印出:
string(5) "12565"

About

总结PHP去掉小数点末尾0的四种方法

Resources

发布

未发布任何资源
首页 喜欢 我的 定制
定制咨询
微信二维码
扫一扫上面的二维码,加我为朋友。
微信扫码周一至周六服务
接定制开发需求