JS的运算问题……

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属性方法就可以,贴上完整代码

最后贴上测试结果

初写博客,写的不错误的不够明白的望指出。

愿你走出半生,归来仍是少年
原文地址:https://www.cnblogs.com/yz-blog/p/6278334.html