gpt4 book ai didi

PHP 仅显示有效(非零)小数

转载 作者:IT王子 更新时间:2023-10-29 00:03:43 27 4
gpt4 key购买 nike

在 PHP 中(使用内置函数)我想用小数转换/格式化数字,以便只显示非零小数。但是,我的另一个要求是,如果它是一个没有十进制值的数字,我仍然希望显示为零。例子:

9.000 -> 9.0
9.100 -> 9.1
9.120 -> 9.12
9.123 -> 9.123

rtrim($value, "0") 几乎可以正常工作。 rtrim 的问题在于它将 9.000 保留为 9.sprintf() 似乎是一个候选者,但我无法让它具有可变数量的小数。 number_format() 有不同的用途,这些就是我能想到的...

我想再次指出,我不是在寻找您对此的自制解决方案,而是在寻找一种使用内部 PHP 功能来完成此任务的方法。我可以自己编写一个函数来轻松完成此任务,因此请保留这样的答案。

最佳答案

我认为没有办法做到这一点。正则表达式可能是您最好的解决方案:

$value = preg_replace('/(\.[0-9]+?)0*$/', '$1', $value);

演示:

php> $a = array('0.000', '0.0001', '0.0101', '9.000', '9.100', '9.120', '9.123');
php> foreach($a as $b) { echo $b . ' => ' . preg_replace('/(\.[0-9]+?)0*$/', '$1', $b)."\n"; }
0.000 => 0.0
0.0001 => 0.0001
0.0101 => 0.0101
9.000 => 9.0
9.100 => 9.1
9.120 => 9.12
9.123 => 9.123

关于PHP 仅显示有效(非零)小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5429919/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com