JS的运算问题……
在公司实习期间,发现了一个JS很奇怪的问题。
今天在这里来探讨一下
第一个问题
在生活中或者其他语言中一般相加是这样的:0.1+0.2=0.3;
但在JS中却是这样:0.1+0.2=0.3000000000000004;
是不是很奇怪,这只是常见的问题,还有其他小数相加指不定还会出现更奇葩的问题。
解决办法
用toFixed这个方法
也就是这样:(a+b).toFixed(1)=0.3;\toFixed(1)中的1是保留一位小数
第二个问题
获取两个input表单value数值相加变成字符串相加问题
贴上测试代码及测试结果
测试结果
为什么会这样呢?
原因在于js获取input的vlue值默认是字符串类型,即使是数字,也是会把它当成字符串相加的
解决办法:Number属性
属性方法
测试结果
问题还没解决,要是又是遇到小数点相加呢
看图又出现了这样的问题
解决办法加上上面toFiexd属性方法就可以,贴上完整代码
最后贴上测试结果
初写博客,写的不错误的不够明白的望指出。