tofixed(),四舍六入五凑偶,修改成四舍五入

方法一:

在JS中四舍五入的函数 toFixed(n) , n为要保留的小数位数。 n为0~20,当n超过20的时候,JS会出错。

不同的浏览器,或者是一些特别的数字,这个方法就不会按常理截取。

var h=0.155

h.toFixed(2)的值为0.15

其实要解决这个问题,原来是不一定要重写js中的Number类型的toFixed方法的。

一个很牛的方法是:使用toFixed方法之前加1,使用之后再减去1。

var num = 0.007;//要四舍五入的数字

var fixNum = new Number(num+1).toFixed(2);//四舍五入之前加1

var fixedNum = new Number(fixNum - 1).toFixed(2);//四舍五入之后减1,再四舍五入一下

alert(fixedNum);//弹出的数字就是正确的四舍五入结果啦

方法二:

重写toFixed的脚本方法

// toFixed兼容方法

Number.prototype.toFixed = function (n) {

if (n > 20 || n < 0) {

throw new RangeError('tofixed()数字参数必须是0和20之间');

}

const number = this;

if (isNaN(number) || number >= Math.pow(10, 21)) {

return number.toString();

}

if (typeof (n) == 'undefined' || n == 0) {

return (Math.round(number)).toString();

}

let result = number.toString();

const arr = result.split('.');

// 整数的情况

if (arr.length < 2) {

result += '.';

for (let i = 0; i < n; i += 1) {

result += '0';

}

return result;

}

const integer = arr[0];

const decimal = arr[1];

if (decimal.length == n) {

return result;

}

if (decimal.length < n) {

for (let i = 0; i < n - decimal.length; i += 1) {

result += '0';

}

return result;

}

result = integer + '.' + decimal.substr(0, n);

const last = decimal.substr(n, 1);

// 四舍五入,转换为整数再处理,避免浮点数精度的损失

if (parseInt(last, 10) >= 5) {

const x = Math.pow(10, n);

result = (Math.round((parseFloat(result) * x)) + 1) / x;

result = result.toFixed(n);

}

return result;

};

C语言小数点后六位怎么舍成四位,【JavaScript】小数点精度问题,小数点后两位toFixed(),把四舍六入五凑偶,修改成四舍五入...相关推荐

  1. 【JavaScript】小数点精度问题,小数点后两位toFixed(),把四舍六入五凑偶,修改成四舍五入

    tofixed(),四舍六入五凑偶,修改成四舍五入 方法一: 在JS中四舍五入的函数 toFixed(n) , n为要保留的小数位数. n为0~20,当n超过20的时候,JS会出错. 不同的浏览器,或 ...

  2. php 五舍六入,四舍五入计算器 四舍五入、四舍六入五取偶(双)算法 - 数学公式 - 房贷计算器...

    四舍五入计算器 在线四舍五入计算器,应用了对数字进行传统常用的四舍五入法,以及更加精准的四舍六入五取偶(银行家算法). 数字 保留 0 1 2 3 4 5 6 7 8 9 10 位小数 计 算 重 置 ...

  3. 实现保留3位有效数字(四舍六入五成双规则)

    目录 实现保留3位有效数字(四舍六入五成双规则) 1.程序简介 输出样例 2.程序代码 3.运行结果 实现保留3位有效数字(四舍六入五成双规则) 1.程序简介 输出样例 输入:输出: 1234 123 ...

  4. python-实现保留3位有效数字(四舍六入五成双规则)

    项目场景: 实现保留3位有效数字(四舍六入五成双规则) 问题描述 输入:输出: 1234 1234 12 12.0 4 4.00 0.2 0.200 0.32 0.320 1.3 1.30 1.235 ...

  5. HTML控制文本框只能输入数字和小数点,并且只能保留小数点后两位 金额转换,阿拉伯数字的金额转换成 面试题

    1.给文本框添加一个οnkeyup='clearNoNum(this)'点击事件 2.建立clearNoNum方法 [javascript] view plaincopy function clear ...

  6. 负数显示红字html语言,需要将单元格内的负数显示为红色且不带负号显示两位小数的格式代码是下面哪一种A、 0.00;[红色...

    需要将单元格内的负数显示为红色且不带负号显示两位小数的格式代码是下面哪一种A. 0.00;[红色 更多相关问题 SPEC性能测试能比时钟频率更全面地反映计算机处理器.存储结构和编译器的性能.它有两种表 ...

  7. PHP_保留两位小数并且四舍五入(可用于精度计算)_保留两位小数并且不四舍五入,

    小数例子: PHP保留两位小数并且四舍五入 1 $n=0.1265489; 2 echo sprintf("%.2f", $n); // 0.13 大家可以看到我们用到了sprin ...

  8. 四舍、六入、五凑偶之Math.Round()

    Math.Round (Decimal, Int32) 将小数值舍入到指定精度. 由 .NET Compact Framework 支持. Math.Round (Double, Int32) 将双精 ...

  9. decimalformat精度丢失_php intval 两位小数乘以100后结果少1

    ASP.NET Core开发-后台任务利器Hangfire使用 ASP.NET Core开发系列之后台任务利器Hangfire 使用. Hangfire 是一款强大的.NET开源后台任务利器,无需Wi ...

最新文章

  1. 终于有人把数据、信息、算法、统计、概率和数据挖掘都讲明白了!
  2. python第三方模块—psutil模块
  3. 牛客国庆集训派对Day2 F、平衡二叉树 【构造+记忆化搜索】
  4. Makefile的obj-y 和 obj-m
  5. 21个营销机构网站设计案例
  6. BackTrack5汉化后打开Txt乱码解决方法
  7. Linux 文件与目录管理+用户管理命令(详解+练习)
  8. ubuntu Gitolite管理git server代码库权限
  9. 于掌控板实现简单的抢答器系统
  10. Elasticsearch】 es Match Query
  11. Php保护数据库连接信息,php连接数据库,哪里填自己的数据库信息啊,能⭕下吗?我乱填后总是服务器正在维护。代码如下...
  12. weblogic 正在启动 wsee服务_详解LINUX安装部署weblogic集群--第二部分
  13. Coaching 企业教练
  14. ghost 通过docker安装
  15. MYSQL临时表,大数据查询优化
  16. 网线水晶头接法分两种教程
  17. c语言对数组取反,C语言中按逆取反是什么意思
  18. 7-20 出生年 (10 分)
  19. echarts 饼图悬浮频繁闪动
  20. C语言获取左键鼠标点击的次数,c语言在控制台判定鼠标左键的小例子

热门文章

  1. 【NI Vision 连接相机报“Error 0xbff69011“】
  2. matlab输出数据
  3. Uber为何必须尽快上市:增长即将放缓
  4. CAD中线宽问题的说明
  5. Axure实时更新项目
  6. java 提高反射性能_java反射性能
  7. timesten系列二:如何安装timesten
  8. [Unity基础]游戏中的数学
  9. GIS数据建库基本思想(下)
  10. R:生信技能树学习笔记二