平时在写js代码时会用到一些简单的计算,比方说系统中我们数据库储存的金额是分,前端展示的是元,所以在用户输入元之后要转成分传给后台,这个公式小学一年级就学过了1
1.11*100 = 111
一般来说这个计算结果是没问题的,但是在js里面却有这样的尴尬1
1.11*100 = 111.00000000000001
结果不是我们想要的111,类似的情况还有1
2
3
40.1+0.2 = 0.30000000000000004 //加法
0.27-0.11 = 0.16000000000000003 //减法
19.9*100 = 1989.9999999999998 //乘法
0.3/0.1 = 2.9999999999999996 //除法
一般遇到这种问题,我们都有成熟的解决方案解决
用着用着就习惯了,一直没有搞清楚为什么会有这样的误差。这两天正好有空,看了一些博客终于搞清楚了。