问题描述
在我正在进行的一个项目中,我发现自己在后端和前端进行了相同的计算。计算是四舍五入两个数字与另一个数字之比的乘积,即对舍入的表达式的形式为
x / y * n
在前端我使用 JavaScript,后端我使用 MariaDB。 x=41,y=60 和 n=30,前端给我 21,这是正确的,因为
41 / 60 * 30
是 20.5,但是当我向它传递这个表达式时,MariaDB 的 ROUND()
函数实现给了我 20!
ROUND(41/60*30,0)
即使它 (MariaDB) 会评估
41 / 60 * 30
到正确的结果 20.5000
如果我将 20.5 (20.5000) 传递给 MariaDB 的 ROUND()
函数,该函数会返回正确的结果 21!我用以下 SQL 语句总结了这个谜(至少对我而言)
SELECT 41/60*30,ROUND(41/60*30,0),ROUND(20.5,ROUND(20.5000,0)
其输出低于...
MariaDB 中 ROUND()
函数的实现有问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)