zoukankan      html  css  js  c++  java
  • JS精度问题,必须掌握!

    实例回顾:
    打开浏览器控制台,输入  0.1+0.2 计算结果居然是 0.30000000000000004,这是为什么???
    对这个结果感到很意外?是的,就是js精度的问题。显然不是我们想要的结果,而是希望得到0.3
    (0.1*10+0.2*10)/10 == 0.3  //true;

    方法一:使用toFixed()指定要保留的小数位数

    (0.1+0.2).toFixed(1) = 0.3;
    这个方法toFixed是进行四舍五入的也不是很精准,对于计算金额这种严谨的问题不推荐使用,而且不同浏览器对toFixed的计算结果也存在差异。

    方法二:把需要计算的数字升级(乘以10的n次幂)成计算机能够精度识别的整数,等计算完毕后在降级(除以10的n次幂),这是大部分编程语言处理精度差异的通用方法。

    核心思路:把小数方法为整数(乘),进行算术运算,再缩小为小数(除)
     
    如果文章对你有帮助,麻烦帮忙点个赞哦!嘿嘿!做一个靠谱的技术博主!
  • 相关阅读:
    mybatis-spring 集成
    maven 插件深入了解
    maven 常用插件3
    maven 插件2
    <转载> maven 详解 http://www.cnblogs.com/binyue/p/4729134.html
    linux base shell 基础语法
    浏览器运行原理
    <转载> js 闭包
    dubbo 学习资料
    HTTP
  • 原文地址:https://www.cnblogs.com/CatcherLJ/p/11176632.html
Copyright © 2011-2022 走看看