MySQL四舍五入问题。
在MySQL中经常会遇到需要截取两位小数的场景,而我就遇到了一个奇怪的问题。
乍一看,没有问题,那我再加一个字段展示下效果
再加个字段
可以发现,sum
函数在round
外面时,118.45自动进一了,变成了118.46。
round
函数在sum
外面时,并没有进一。
这是为什么呢?
我也不知道,帖子暂留,搞明白之后补上答案。
2021年3月11日
想明白了。
假如:100.432 + 18.023
# 先 round 后 sum -> sum(round(number,2))
round(100.432,2) + round(18.023,2) -> 100.43 + 18.02 = 118.45
# 先 sum 后 round -> round(sum(number),2)
round((100.432 + 18.023),2) -> round(118.455) -> 118.46
四 舍 五 入 !