将十进制值四舍五入到最接近的0.05值?

问题描述

| 我正在阅读如何将十进制值四舍五入到最接近的0.05值? 它提到以下内容。
   Math.ceiling(myValue * 20) / 20
这个骇客如何运作?我的意思是我们是如何得出这个解决方案的?     

解决方法

        没有四舍五入到0.05的库函数,但是有一个舍入到1.00的函数:上限。这几乎与粘贴的公式相同(嗯,双精度不是绝对精确)(20 * 0.05 = 1) 您是否尝试用某种东西代替您的配方,然后看看会发生什么?
1.03 * 20 = 20.60
ceil(20.6) = 21
21/20 = 1.05
    ,        1/20是0.05 1/100是0.01 如果要舍入到0.01,则要乘以100,再舍入并除以100。同样,要舍入到0.05,也要进行同样的操作,但是要舍入为20。     ,        它将在Math.ceiling函数内部将0.05映射到1(通过乘法),然后将结果映射回0.05(通过除法)     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...