经常在小数位和小数点右边修剪零

Pet*_*ell -1 php regex

我一直用PHP处理长数字.像下面的例子一样.

12.020000
12.000000
Run Code Online (Sandbox Code Playgroud)

为了摆脱尾随零和小数点,我一直在函数内使用以下内容.

return rtrim(rtrim($str, "0"),".");
Run Code Online (Sandbox Code Playgroud)

所以上面的结果就像.

12.02
12
Run Code Online (Sandbox Code Playgroud)

它有点短视,因为当1000它进入它变成了1.

有人可以帮我用代码删除小数点后的尾随零吗?

如果代码删除小数位,但我可以随时将其输入,奖励积分rtim($str,".").

编辑:要清楚,我只在显示到屏幕时剥离小数位和零.同样,施放浮动不是一个选项,因为我也处理像0.00000001这样的数字,它们像1.0e-9那样出现.

Elo*_*han 5

你为什么用字符串来保存数字?把它扔到浮动,它会解决你的问题.

$string = '12.020000';
$number = (float) $string; // will be 12.02
Run Code Online (Sandbox Code Playgroud)

然后,如果你想将它用作字符串(但为什么?)

$string = (string) $number;
Run Code Online (Sandbox Code Playgroud)

  • 我们同时发布,你的答案更好. (2认同)