项目中遇到的问题,记录一下解决方案。
问题
前台页面进行一些js数据计算,发现浮点类型(保留两位小数)的计算,比如0.03-0.01时结果是0.019999999999999997。当然,这并不是我们想要的结果。
解决方法
那么,如何解决上面的问题呢?由于遇到的问题是保留两位小数,那相对就简单一些了。这里仅提供一种解决方案。
首先,将两个浮点类型分别乘以100(0.03 * 100 -0.01 * 100) ,然后计算的结果再除以100。这样就规避了在做减法的时候上面出现的问题。就好比在开发中,我们更愿意使用单位为分的计算,而不是直接采用double类型的元去计算金额。