前言

  • 360极速浏览器 13.0.2250.0 (正式版本) (32 位)
  • 修订版本 a7bf4fe3ad3073554b28094a60d30d66e9762e55
  • 操作系统 Windows 10 OS Version 2009 (Build 19042.1083)
  • JavaScript V8 8.6.395.25

Math.round() 四舍五入

Math.round()函数返回一个数字四舍五入后最接近的整数。

如果参数的小数部分大于 0.5,则舍入到相邻的绝对值更大的整数。 如果参数的小数部分小于 0.5,则舍入到相邻的绝对值更小的整数。如果参数的小数部分恰好等于0.5,则舍入到相邻的在正无穷(+∞)方向上的整数。注意,与很多其他语言中的round()函数不同,Math.round()并不总是舍入到远离0的方向(尤其是在负数的小数部分恰好等于0.5的情况下)。

因为 round() 是 Math 的静态方法,你应该直接使用 Math.round(),而不是作为你创建的 Math 对象的一个实例方法来使用(Math没有构造函数)

console.log(Math.round(20.49));   //20
console.log(Math.round(20.5));    //21
console.log(Math.round(20.51));   //21
console.log(Math.round(-20.49));  //-20
console.log(Math.round(-20.5));   //-20
console.log(Math.round(-20.51));  //-21

换个好理解的解释:
Math.round() 函数:加0.5,进行下取整;

console.log(Math.floor(20.49+0.5));   //20
console.log(Math.floor(20.5+0.5));    //21
console.log(Math.floor(20.51+0.5));   //21
console.log(Math.floor(-20.49+0.5));  //-20
console.log(Math.floor(-20.5+0.5));   //-20
console.log(Math.floor(-20.51+0.5));  //-21

Math.round() 小数四舍五入

console.log(Math.round(3.1415926*10)/10);   //3.1
console.log(Math.round(3.1415926*100)/100);   //3.14
console.log(Math.round(3.1415926*1000)/1000);   //3.142
console.log(Math.round(3.1415926*10000)/10000);   //3.1416
console.log(Math.round(3.1415926*100000)/100000);   //3.14159
console.log(Math.round(3.1415926*1000000)/1000000);   //3.141593

NumberObject.toFixed(num) 四舍五入

NumberObject.toFixed(num) 方法可把 Number 四舍五入为指定小数位数的字符串。

  • num参数规定小数的位数。num是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。
  • 当 num 太小或太大时抛出异常 RangeError。
  • 当调用该方法的对象不是 Number 时抛出 TypeError 异常。
console.log(3.1415926.toFixed());   //3
console.log(3.1415926.toFixed(1));   //3.1
console.log(3.1415926.toFixed(2));   //3.14
console.log(3.1415926.toFixed(3));   //3.142
console.log(3.1415926.toFixed(4));   //3.1416
console.log(3.1415926.toFixed(5));   //3.14159
console.log(3.1415926.toFixed(6));   //3.141593

注意:NumberObject.toFixed(num) 的返回值为字符串

console.log(Object.prototype.toString.call(3.1415926.toFixed()));   //[object String]

【javascript】四舍五入相关推荐

  1. 在html中解决数字四舍五入,JavaScript四舍五入及精度丢失问题

    在JS中使用数值计算时,经常会遇到未知的结果. 问题:用toFixed保留小数时,四舍五入规则不固定: 常见的解决思路:将小数放大为整数,进行四舍五入后,再缩小为小数. // 四舍五入(若要直接舍去, ...

  2. html四舍五入函数,Javascript四舍五入(Math.round()与Math.pow())

    代码 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ ...

  3. JavaScript四舍五入的改进

    前言 最近的两个项目中都有涉及到数据统计的部分,一般来说金额的数据都是选择保存2位小数,以前是使用JavaScript原生对象Number的toFixed方法.但是在测试中出现了3.235.toFix ...

  4. JavaScript - 四舍五入

    JavaScript 对数值进行四舍五入常见操作有以下6种: ceil - 向上取整 floor - 向下取整 round - 四舍五入 toFixed - 固定精度 toPrecision - 固定 ...

  5. javascript四舍五入算法Bug修复

    网上找的或多或少会有bug,经过调整修复以后真正满足生产环境如下: function newToFixed(num,digit) {//digit:保留小数位let str = (num*Math.p ...

  6. 如何在JavaScript中将浮点数转换为整数?

    我想在JavaScript中将浮点数转换为整数. 实际上,我想知道如何同时进行标准转换:截断和舍入. 而且有效,而不是通过转换为字符串和解析. #1楼 按位或运算符 可以使用按位或运算符截断浮点数,它 ...

  7. DataGrid中实现输入数量和金额自动计算出总金额

    <script language="javascript"> //四舍五入   Number.prototype.toFixed=function(len)  {   ...

  8. Java中float和double精度

    http://zhidao.baidu.com/question/344295417.html?seed=0 float与double的区别 单精度浮点数在机内占4个字节,用32位二进制描述. 双精度 ...

  9. 【AE表达式】300多个人名正从宇宙中飞来……

    问题 数量级的问题: 昨天我朋友问:要做三百多个人名(文本)从宇宙深处飞出来的效果,怎么处理? 对于这样的需求,做 AE 包装的小伙伴们都不陌生,就是 3D文本层摆位置,打个相机穿梭一下.没错,对于几 ...

  10. javaScripty笔记

    <JavaScript-笔记> CSS的基本选择器 选择器分类 语法 标签选择器 标签名 类选择器 .类名 ID选择器 #ID 通用选择器 * CSS的扩展选择器选择元素 扩展选择器 作用 ...

最新文章

  1. Jconsole远程监控tomcat 的JVM内存(linux、windows)
  2. OPA 5 - CreateButtonTest creates CreateButtonSteps
  3. RabbitMq入门(七)消息处理(消息持久化autoDelete、消息确认ACK机制)
  4. 孤零零好可怜的光棍节
  5. 【Proteus仿真8086】简单IO接口实验——读取开关状态控制灯的亮灭
  6. kibana4 分析和搜索仪表板 安装和配置
  7. 网站页面黑白色效果实现技巧
  8. 店宝宝:电商直播被“敲响警钟”了
  9. java web项目_一个完整JavaWeb项目开发总结
  10. 移除word文档的域代码 remove all field codes of word
  11. 践行社会责任 | 华云数据荣登2021新型实体企业百强榜 用创新技术服务实体经济
  12. MCP2515 (2)
  13. 学习布局(21)HTML5新标签
  14. 使用bat批量删除修改子目录文件名后缀,超简单
  15. 23种开发设计模式总结,追求高内聚低耦合的编程思想。
  16. 使用DBLINK查询时报ORA-00600: internal error code, arguments: [kzdlk_zt2 err]
  17. 18.04.28 17年程设考试题
  18. github.io使用方法
  19. 图像采集卡 | 以每秒千兆像素的速度进行图像处理
  20. 〖产品思维训练白宝书 - 核心竞争力篇⑪〗- 产品经理核心竞争力解读之管理能力

热门文章

  1. lvs之 lvs原理架构介绍
  2. Emacs之魂(三):列表,引用和求值策略
  3. 倚天遇到屠龙:LightGBM VS xgboost谁才是最强的梯度提升库?
  4. Bash+R: howto pass parameters from bash script to R(转)
  5. 项目管理系列之项目范围时间及资源管理(二)
  6. 数据库性能检查指导方案
  7. 一行js代码识别Selenium+Webdriver及其应对方案 1
  8. GO语言基础之method
  9. git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
  10. Ubuntu 配置 Go 语言开发环境(Sublime Text+GoSublime)