我一直用PHP处理长号码。如下例所示。
12.020000
12.000000
为了摆脱尾随零和小数点,我在函数中使用了以下内容。
return rtrim(rtrim($str, "0"),".");
所以上面的结果就像。
12.02
12
当输入1000
时,它变得有点短视,它会变成1
。
有人可以帮我修改代码,只删除小数点后的尾随零点吗?
如果代码移除了小数位,则可以加分,但我总是可以将其输入rtim($str,".")
。
编辑:要清楚,我只在显示到屏幕时剥离小数位和零。同时施放浮动也不是一个选项,因为我也处理像0.00000001这样的数字,它们就像1.0e-9那样。
答案 0 :(得分:5)
为什么使用字符串来保存数字?把它扔到浮动状态,它将解决你的问题。
$string = '12.020000';
$number = (float) $string; // will be 12.02
然后,如果你想将它用作字符串(但为什么?)
$string = (string) $number;
答案 1 :(得分:3)
令我困惑的是你的问题是,如果没有故意用number_format添加它们,额外的零将不包含在数字变量中。 (这可能就是为什么有人下来投票的原因。)
通常,您不希望对包含数字的变量使用字符串函数(用于文本)。如果要舍入数字,请使用圆形等函数。
http://php.net/manual/en/function.round.php
还有number_format,它可以通过添加零填充来格式化数字:(它不会实现圆形,只是修剪多余的数字)。
http://php.net/manual/en/function.number-format.php
由于您的零出现,您可能只需要将变量乘以1,这实际上将字符串转换为数字。
祝你好运!