ROUND 函数计算错误?

ROUND functions calculating wrong?

我真的很想知道为什么 ROUND 函数会这样计算。我不认为,我在过去 40 年里发现了别人没有的东西,只是我不敢相信它是这样工作的,我真的很想知道这其中的原因。

当然,我尝试在这里和网络上搜索,但我发现只有用户创建了圆函数问题。

当我想检查 MySql.

中的 ROUND 函数语法时,整个事情都来自这里

我在 this 网站上找到了这个解释。

我真的很奇怪,当我想四舍五入到2位小数时,函数是否只检查第三位小数,而不解析第四位。

所以我在MySqlPHP做了一个测试,结果是一样的。

var_dump(round(4.4449, 2));
var_dump (round(4.445, 2));

输出:

float 4.44
float 4.45

怎么可能?我想:

4.4449
    ^^ <-- this 49 should be 50 so 5.

好吧,我真的不想用 PHP 计算火箭的弹道,但如果是真钱,我认为网上商店有数百万笔交易,很多积少成多。

请告诉我,有些东西,因为我见树不见林。

没错,四舍五入说的很清楚"if decimal is bigger or equal 0,5, raise it to 1, otherwise set it to 0"。

0,4999999999999 >= 0,5吗?