我正在阅读How to round decimal value up to nearest 0.05 value?。
它提到了以下内容。
Math.ceiling(myValue * 20) / 20
这个黑客如何运作?我的意思是我们是如何得出这个解决方案的?
答案 0 :(得分:5)
1/20是0.05
1/100是0.01
如果要舍入为0.01,则乘以100,舍入并除以100.同样,要舍入为0.05,则执行相同操作,但使用20。
答案 1 :(得分:4)
没有用于舍入到0.05的库函数,但是有一个用于舍入到1.00:上限。这几乎(嗯,双倍并不是绝对精确)与你粘贴的公式相同(20 * 0.05 = 1)
您是否尝试用替代品代替您的配方,看看会发生什么?
1.03 * 20 = 20.60
ceil(20.6) = 21
21/20 = 1.05
答案 2 :(得分:0)
它在Math.ceiling函数中将0.05映射到1(通过乘法),然后将结果映射回0.05(按除法)