在公司实习期间,发现了一个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属性方法就可以,贴上完整代码

最后贴上测试结果

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

最新文章

  1. 25个 Git 进阶技巧
  2. 【Junit 报错】Test class should have exactly one public zero-argument constructor和Test class can only have one constructor
  3. js获取单选按钮的值
  4. http get vs post
  5. usb转串口如何配置?
  6. jquery Tab默认情况下自动切换
  7. Android项目中gen文件下R文件无法生成的解决的方法
  8. php header调试,yii2打log
  9. java中数组与List相互转换的方法
  10. 好多NFS的文章
  11. OC 优化目录
  12. 微信网页授权封装接口——node.js版
  13. dotweb框架之旅 [四] - 常用对象-HttpContext
  14. Java异常处理-----运行时异常(RuntimeException)
  15. 虎牙直播张波:掘金Nginx日志
  16. 第一次用python 写的简单爬虫 记录在自己的博客
  17. Python 初始函数
  18. [蓝桥杯]ALGO-15.算法训练_旅行家的预算
  19. octave画心形曲线
  20. Android已有的原生Camera框架中加入自己的API的实现方案。

热门文章

  1. Ping域名惊现65.49.2.178
  2. PLSQL导入/导出数据方法
  3. oracle中intersect的用法
  4. 推荐一个比较好的VBS编辑器
  5. hrift 的序列化机制
  6. linux 启动oracle报cannot restore segment prot after reloc: Permission denied
  7. Smarty include
  8. Effective C++(15) 在资源管理类中提供对原始资源的访问
  9. TDD中的单元测试
  10. Linux 宿主机安装 MiniGUI