0

我需要使用 MySQL 将值四舍五入到 5 美分 (0.05) 的增量。它必须总是四舍五入。例子:

0.01 -> 0.05

2.12 -> 2.15

0.16 -> 0.20

我怎样才能做到这一点。我用 ceil() 和 round() 尝试了一些东西,但似乎我可以从 MySQL 专家那里获得一些帮助。

4

3 回答 3

7

由于 100/5 = 20,我们所做的就是乘以 20,四舍五入到最接近的整数,然后除以 20。

(在 MySQL 中使用 CEIL 进行四舍五入)

1.03 美元的示例:

1.03 * 20   = 20.60
CEIL(20.60) = 21.0000
21 / 20     = 1.0500

注意:我还将整个语句四舍五入到小数点后 2 位,只是为了删除任何尾随零。

SELECT ROUND( CEIL( (old_price) * 20) / 20, 2) FROM table
于 2017-09-20T18:52:14.683 回答
1

尝试使用这个 -

SELECT (<value> DIV 0.05) * 0.05 + IF(<value> MOD 0.05 = 0, 0, 0.05)
于 2012-10-26T06:39:01.677 回答
1
SELECT floor((<value> + 0.025) * 20) / 20
于 2014-02-26T18:14:00.247 回答