PHP 如果定义了精度,则 round 添加小数
PHP round adds decimals if a precision is defined
我到处都看过,但我似乎无法弄清楚。我有一堆最多有 6 位小数的坐标,我想将所有内容四舍五入到只有 2 位小数。
例如,一个数字可以是“82.599899”,它应该变成“82.60”。问题是,如果我使用 round($number, 2) 它会变成这样:
82.59999999999994316
所以一堆例子是:
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
我是不是做错了什么?我以前从来没有遇到过 round, floor etz 的问题,所以我现在很无能
对我来说,这是按预期工作的。
round(82.599899); //returns 83
round(82.599899, 2); //returns 82.60
round(28.4772, 2); //returns 28.48
所以我猜这是一个配置问题。您是否更改了 php.ini
中的某些内容?也许 precision
字段已从默认字段更改。
我到处都看过,但我似乎无法弄清楚。我有一堆最多有 6 位小数的坐标,我想将所有内容四舍五入到只有 2 位小数。
例如,一个数字可以是“82.599899”,它应该变成“82.60”。问题是,如果我使用 round($number, 2) 它会变成这样:
82.59999999999994316
所以一堆例子是:
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
我是不是做错了什么?我以前从来没有遇到过 round, floor etz 的问题,所以我现在很无能
对我来说,这是按预期工作的。
round(82.599899); //returns 83
round(82.599899, 2); //returns 82.60
round(28.4772, 2); //returns 28.48
所以我猜这是一个配置问题。您是否更改了 php.ini
中的某些内容?也许 precision
字段已从默认字段更改。