MySQL - 我怎样才能总是向上舍入小数?

qui*_*pro 14 mysql rounding

例如,我有以下价值:

0.000018

这是小数点后6位,但我想将它四舍五入到最接近的整数小数位,这样:

0.000018 -> 0.0001

我玩过round()函数但是如果我只使用round函数:

round(0.000018,4) = 0.0000

当出于财务目的处理小数时,在这种情况下,需要向客户收取费用而不是向他们收取免费赠品!但是round()会根据价值上下波动,我需要不断围捕.

有一个简单的方法吗?

Nan*_*nne 29

你可以使用ceil(天花板).它只会向上舍入,所以你必须乘以10000,做ceil然后再分割结果.

所以ceil(0.000145* 10000) = ceil(1.45) = 2 分回来,你会有0.0002

编辑:等等,哇?这不起作用.我的意思是FLOOR显然但工作是一样的:D手册也在同一页面上:)

所以floor(0.000145* 10000) = floor(1.45) = 1 分回来,你会有0.0001


小智 5

还有另一种方法,就是加上 10 的倍数的一半。例如:round(x+0.005, 2)其中 x 是 0.923 = 0.93,这样可以减少最大浮点除法误差。