javascript中toFixed使用的是银行家舍入规则。

银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。

简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。但是不论引入toFixed解决浮点数计算精度缺失的问题也好,它有没有使用银行家舍入法也罢,都是为了解决精度的问题,但是又离不开二进制浮点数的环境,但至少他帮助我们找到了问题所在,从而让我们有解决方法。

一:四舍五入并不是真正的四舍五入

这个问题是在测试阶段我们的测试人员提出来的。一开始我也很吃惊,结果待我在控制台试了一些数据之后,我懵逼了,我一直在用的toFixed方法竟然有问题

chrome上的测试结果:

1.35.toFixed(1) // 1.4 正确

1.335.toFixed(2) // 1.33 错误

1.3335.toFixed(3) // 1.333 错误

1.33335.toFixed(4) // 1.3334 正确

1.333335.toFixed(5)  // 1.33333 错误

1.3333335.toFixed(6) // 1.333333 错误

IE上的测试结果:

1.35.toFixed(1) // 1.4 正确

1.335.toFixed(2) // 1.34  正确

1.3335.toFixed(3) // 1.334 正确

1.33335.toFixed(4) // 1.3334 正确

1.333335.toFixed(5)  // 1.33334 正确

1.3333335.toFixed(6) // 1.333334 正确

我个人的解决方法numFormat 为千分位方法

numFormat(Math.round(money*100/100).toFixed(2))

如果您觉得文章有用,可以打赏个咖啡钱

java tofixed,js toFixed()方法的坑相关推荐

  1. Java与JS金额计算去掉小数部分的方法

    由于除法.编程语言等特性,小数计算总是可能无法获取到精确的结果.但是金额计算又要求有精确的结果,这样的矛盾可以通过整数计算加去除小数部分来获取想要的结果. 乘法: 单价为9.99元的某物品购买9个,总 ...

  2. JS toFixed的使用误差,银行家算法(四舍六入五取偶)实现

    JS toFixed的使用误差,银行家算法(四舍六入五取偶)实现 前言 toFixed方法 "四舍六入五取偶" 问题 银行家算法实现 扩展 原因 解决方式 附注 前言 JS是一门弱 ...

  3. Java调用js方法

    js函数保存在String字符串中 package com.netease.qiyu.test.datastageservice.service.impl;import com.netease.qiy ...

  4. java 调用 js性能_太快了,太变态了:什么会影响Java中的方法调用性能?

    java 调用 js性能 那么这是怎么回事? 让我们从一个简短的故事开始. 几周前,我提议对Java核心libs邮件列表进行更改 ,以覆盖当前final一些方法. 这刺激了一些讨论主题-其中之一是其中 ...

  5. python去除php、java、js、html、vue等类型注释字符方法实例

    本篇文章主要讲解:python去除php.java.js.html.vue等所类型注释字符方法实例 作者:任聪聪 可以处理php.java.python.js.html.vue.node.mysql等 ...

  6. java有push方法么_[Java教程]js中push和join方法使用介绍

    [Java教程]js中push和join方法使用介绍 0 2013-10-09 07:00:17 push和join方法想必大家并不陌生吧,在本文将为大家详细介绍下js中的push和join方法的使用 ...

  7. 百度api使用方法(java、js)

    自己的项目使用到了百度地图api,我就论我使用到的部分进行说明.首先我们先了解几个网站http://lbsyun.baidu.com/   这是百度地图开放平台首页    http://lbsyun. ...

  8. js toFixed(2)出现很多位小数

    js toFixed(2)出现很多位小数 原本的js var chtml=""; chtml += "<div>" + (citem.value / ...

  9. jquery 遍历java对象,js/jquery遍历对象和数组的方法分析【forEach,map与each方法】...

    本文实例讲述了js/jquery遍历对象和数组的方法.分享给大家供大家参考,具体如下: JS forEach方法 arr[].forEach(function(value,index,array){ ...

最新文章

  1. 用html编写一个贪吃蛇,HTML编写的贪吃蛇代码
  2. 关于HTML头二行文字的解释
  3. mode: 'history', 去掉路由地址的#
  4. python Intel Realsense D435 图像自动采集程序 自动剔除模糊图像
  5. java中用iterator去检查最大值_Java中的Iterator vs forEach
  6. NXP(I.MX6uLL) UART串口通信原理————这个未复习
  7. Linux iptables 配置详解
  8. mysql外键约束分数_MySQL提高(外键约束)
  9. 信息学奥赛一本通(1022:整型与布尔型的转换)
  10. 【kafka】Kafka 集群配置SASL+ACL
  11. DevexPress checkedit 多选解决方案(原创)
  12. 梯度,雅克比矩阵和海森矩阵
  13. 5. 强化学习之——策略优化
  14. 大一期末C语言大作业—结构体和链表框架
  15. git 提交两次commit到同一分支,被糅合为一次Marge Request的解决方法:cherry-pick
  16. 工具|Python常用小脚本
  17. Load, Modify, and Save an Image - 加载、修改和保存图像
  18. R语言因子型数值转数值型
  19. python爬取豆瓣电影评论_使用Python抓取豆瓣影评数据的方法
  20. 美拍高颜值短视频一键解析批量保存到电脑中

热门文章

  1. 华林科纳湿化学清洗过程中晶片污染控制方法
  2. appserv安装php,在Windows下应用AppServ(2.6.0)安装PHP开发环境
  3. 万万没想到,非计算机专业的我,也能进互联网大厂
  4. Linux文件操作--Python模块
  5. Windows界面编程第八篇 listbox彩色显示隔行变色
  6. iPad 2升级iOS 9的过程记录
  7. 梳理轻量级建模软件Silo中的所有操作(2):修改
  8. 楚留香服务器维护3月8,【楚留香】2019年3月8日官方维护公告
  9. 冷笑话之--所有进制都是十进制?
  10. 计算机音乐谱 青花瓷,天谕手游青花瓷乐谱代码分享