减少双倍到4位小数,PHP

时间:2016-09-09 13:13:18

标签: php

我有一个double,正在被XML文档读入,小数位后面有7位数字。

我想把它变成4,但似乎没有任何工作,数字格式和圆形使用,我的最终想法是* 1000,格式/ 1000但它没有使用小数位数。

echo $lng;
$lng = $lng * 1000;
echo $lng;
$lng = number_format($lng,0);
echo $lng;
$lng = $lng / 1000;
echo $lng;

这给了我以下结果:

lng -2.9763323 
lng -2000 
lng -2,000 
lng -0.002 

欢迎任何帮助

3 个答案:

答案 0 :(得分:0)

如果您想使用此方法将其设置为4位小数,则需要乘以10,000而不是1,000。试试这个:

$lng = -2.9763323;

echo intval($lng * 10000) / 10000; // outputs: -2.9763
但是,

round可能会更好用,因为它更容易理解,而且正是它的意思:

echo round($lng, 4); // outputs: -2.9763

另外,它可以为您提供其他圆形模式的选项,而不仅仅是简单的地板,例如圆形半上/下,圆形半偶数/奇数。在示例的情况下,无论选择哪种舍入模式,您都将得到相同的输出,因为差异仅在所需精度的最后一位数后跟5时。

答案 1 :(得分:0)

使用round() EG。 echo round(10.12456789, 4);

答案 2 :(得分:0)

不确定圆形意味着什么不起作用,但是:

$lng=round($lng,4);
echo $lng;

为我制作-2.9763。你想要它总共有4位数吗?