ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

toFixed的坑

2019-10-23 18:02:16  阅读:293  来源: 互联网

标签:舍入 return point num toFixed 四舍


因为项目需要使用小数,所以第一时间想到了javaScript 的toFixed 方法,开始测试了一下,觉得没有问题就没管了,后来同事偶然间发现 toFixed 之后的数据不对,后来自己查阅资料才知道,toFixed的坑: 

toFixed使用的是银行家舍入规则。 银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。 简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一

于是放弃了使用toFixed处理小数,直接自己写了一个方法



     /**
      * @param num:需要转换的值
      * @param point 保留几位小数
      */

toFixedNumber: function (num, point) {
      if (isNaN(num)) {
        return null
      }
      point = Math.pow(10, point)
      num = num * point
      if (num === +num) {
        return parseInt(num + 0.5) / point
      } else {
        return +num
      }
    }

调用方法:

var a=37.524;
console.log("result:"+toFixedNumber(a,2));

 

标签:舍入,return,point,num,toFixed,四舍
来源: https://www.cnblogs.com/hspl/p/11727791.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有