我有一个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
欢迎任何帮助
答案 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位数吗?