number_format() php 删除尾随零

2023-12-14

有没有办法与number_format()如果数字不是浮点数/小数,要省略小数位吗?

例如,我想要以下输入/输出组合:

50.8 => 50.8
50.23 => 50.23
50.0 => 50
50.00 => 50
50 => 50

有没有办法只用一个标准来做到这一点number_format()?


你可以加0到格式化的字符串。它将删除尾随零。

echo number_format(3.0, 1, ".", "") + 0; // 3

更好的解决方案:上述解决方案不适用于特定区域设置。所以在这种情况下,您只需输入将数字转换为float数据类型。注意:类型转换后,您可能会失去精度float,数字越大,截断数字的机会就越大。

echo (float) 3.0; // 3

最终解决方案:唯一安全的方法是使用正则表达式:

echo preg_replace("/\.?0+$/", "", 3.0); // 3
echo preg_replace("/\d+\.?\d*(\.?0+)/", "", 3.0); // 3

片段 1 演示

片段 2 演示

片段 3 演示

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

number_format() php 删除尾随零 的相关文章

随机推荐