如果定义了精度,PHP round会添加小数

时间:2015-08-27 12:41:44

标签: php rounding

我到处都看,但我似乎无法解决这个问题。我有一堆关闭坐标,最多有6个小数位,我想把所有内容都缩小到只有2位小数。

例如,一个数字可以是' 82.599899'它应该变成'82.60'。问题是,如果我使用round($ number,2),它将转为:

82.599999999999994316

所以有很多例子:

round(82.599899);  //returns 83
round(82.599899, 2); //returns 82.599999999999994316
floor(82.599899* 100) / 100; //returns 82.599999999999994316
round(28.4772, 2); //returns 28.480000000000000426

我只是做错了吗?我以前从未遇到过圆形,地板等问题,所以我现在很无能为力

1 个答案:

答案 0 :(得分:2)

对我而言,这是按预期工作的。

round(82.599899);  //returns 83
round(82.599899, 2); //returns 82.60
round(28.4772, 2); //returns 28.48

所以我猜这是配置问题。你在php.ini改变了什么吗?可能precision字段已从默认字段更改。