目前js常用四舍五入方法存在bug,无法正确计算特殊数字。

例如:var a=8.745;

alert(a.toFixed(2));//8.74

alert(a.toFixed(2));//8.74

alert(a.toPrecision(3));//8.74

alert(Math.floor(a*100)/100);//8.74

alert(Math.round(a*100)/100);//8.74

原因是 alert(a*100);874.4999999999999

解决方案如下:

//计算两个数的乘法

function accMul(arg1,arg2){
              var m=0,s1=arg1.toString(),s2=arg2.toString();
              try{m+=s1.split(".")[1].length}catch(e){}
              try{m+=s2.split(".")[1].length}catch(e){}
              return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
            }

//计算四舍五入,保留两位小数
        function keepTwoDecimal(num) {
             var result = parseFloat(num);
             if (isNaN(result)) {
             alert('传递参数错误,请检查!');
             return false;
             }
             result = Math.round(accMul(num,100)) / 100;
             return result;
            }

alert(a);//8.745
        alert(keepTwoDecimal(a));//8.75

js 四舍五入bug解决方法相关推荐

  1. vscode 格式化某一段代码_VSCode格式化代码功能失效的bug解决方法

    VSCode格式化代码功能失效的bug解决方法 前不久我装上了 黑苹果,那么为了快速转移开发环境,我使用了VSCode(Visual Studio Code下面简称VSCode)的插件 Setting ...

  2. [记录]mscorlib recursive resource lookup bug解决方法

    [记录]mscorlib recursive resource lookup bug解决方法 参考文章: (1)[记录]mscorlib recursive resource lookup bug解决 ...

  3. 常用 BUG 解决方法

    扯淡   随着工作时间越来越长,对于代码的理解也越来越多!关注重点也渐渐地从代码本身转移到了代码结构性.解决问题方法性等方面.下面就来说一说,在遇到代码BUG,我们常用的一些方法! 二分定位法   通 ...

  4. vscode格式化html代码失效了,VSCode格式化代码功能失效的bug解决方法

    VSCode格式化代码功能失效的bug解决方法 前不久我装上了黑苹果,那么为了快速转移开发环境,我使用了VSCode(Visual Studio Code下面简称VSCode)的插件Settings ...

  5. 创建Vue项目,找不到router文件(router.js)的解决方法

    创建Vue项目,找不到router文件(router.js)的解决方法 问题描述: 安装 Vue Router 原因分析: 解决方案: 命令窗口创建 使用图形化界面 问题描述: 如图所示: 安装 Vu ...

  6. 群星服务器id不显示,《群星stellaris》1.21版常见三大bug解决方法一览

    <群星stellaris>1.21版常见三大bug解决方法一览 2016-07-31 11:05:00来源:贴吧编辑:评论(0) <群星stellaris>1.21版中玩家遇到 ...

  7. 哪些操作会造成内存泄漏及Js内存泄露解决方法

    1.垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量.如果一个对象的 引用数量为 0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象的 内存即可回收 2.setTim ...

  8. 织梦php调用出来的是乱码,织梦标签array runphp静态生成乱码BUG解决方法

    这篇文章主要为大家详细介绍了织梦标签array runphp静态生成乱码BUG解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 在织梦模板的开发过程中,我 ...

  9. android 表单 禁止编辑器,百度编辑器ueditor(v1.3.6)net环境中详细配置教程附bug解决方法...

    1.下载UEditor,当前最新版本是1.3.6.这里下载的.net版本,选择UTF-8.下载地址:http://ueditor.baidu.com/website/download.html 注意: ...

最新文章

  1. (转)深入理解SP、LR和PC
  2. 用python做炒股软件-同花顺有python接口_基于python的炒股软件
  3. git下载指定分支代码到本地
  4. 6-2 链式表的按序号查找
  5. ES6第一节:开发环境的搭建
  6. textread读取记事本文件
  7. Host aggregate分区
  8. iOS炫酷动画图案、多种选择器、网络测速、滑动卡片效果等源码
  9. mysql随机姓名_mysql 随机生成姓名函数,及模拟大量测试数据
  10. 网站访问计数器 php,用PHP生成访客计数器
  11. 百度EasyDL图像分类的使用
  12. Newton牛顿法(二)| 收敛性和收敛速度 +初值的选取方法
  13. qq邮箱不能上传文件的修复
  14. jNs 在 ASP.NET MVC 项目中的应用
  15. web广告推送功能开发总结
  16. vue在线动态切换主题色方案
  17. 天地图2.0和google卫星非偏移数据叠加
  18. 【附源码】Python计算机毕业设计软件缺陷管理系统
  19. 51单片机仿真例程-开关控制
  20. ES7-ES11新特性汇总

热门文章

  1. mysql交叉表查询列转行_SQL 转置计算
  2. Html之pre、xmp标签_感觉没什么用_实例
  3. 谷歌黑客关键字搜索_Google将搜索量添加到关键字工具
  4. C#+arcengine开发中ITable与DataTable的转换问题,ITable与DataTable相互转换的代码[转]
  5. 如何关闭windows系统的默认共享
  6. CRMEB多商户二开流程介绍
  7. PS滤镜安装方法、PhotoShop滤镜的安装方法
  8. gem意思_邓紫棋为什么叫gem 邓紫棋gem有什么特殊的含义吗
  9. uniApp实现公农日历相互转换、公历、农历、阳历、阴历、calendar
  10. 10年老鸟竟不知道Integer如何比较大小