JS处理数据四舍五入(tofixed与round的区别详解)


Posted in Javascript onOctober 26, 2017

1 、tofixed方法

toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。例如将数据Num保留2位小数,则表示为:toFixed(Num);但是其四舍五入的规则与数学中的规则不同,使用的是银行家舍入规则,银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。具体规则如下:

简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。

显然这种规则不符合我们平常在数据中处理的方式。为了解决这样的问题,可以自定义去使用Math.round方法进行自定义式 的实现指定保留多少位数据进行处理。

定义和用法

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

语法
NumberObject.toFixed(num)

参数 描述
num 必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

返回值

返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。

抛出

当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

实例

在本例中,我们将把数字舍入为仅有一位小数的数字:

Show the number 13.37 with one decimal:

<script type="text/javascript">
var num = new Number(13.37);
document.write (num.toFixed(1))
</script>

输出:

13.4

2 、round方法

round() 方法可把一个数字舍入为最接近的整数。例如:Math.round(x),则是将x取其最接近的整数。其取舍的方法使用的是四舍五入中的方法,符合数学中取舍的规则。对于小数的处理没有那么便捷,但是可以根据不同的要求,进行自定义的处理。

例如:对于X进行保留两位小数的处理,则可以使用Math.round(X * 100) / 100.进行处理。

定义和用法

round() 方法可把一个数字舍入为最接近的整数。

语法
Math.round(x)
参数 描述
x 必需。必须是数字。
返回值
与 x 最接近的整数。

说明
对于 0.5,该方法将进行上舍入。

例如,3.5 将舍入为 4,而 -3.5 将舍入为 -3。

实例
把不同的数舍入为最接近的整数:

<script type="text/javascript">
document.write(Math.round(0.60) + "<br />")
document.write(Math.round(0.50) + "<br />")
document.write(Math.round(0.49) + "<br />")
document.write(Math.round(-4.40) + "<br />")
document.write(Math.round(-4.60))
</script>

输出:

1
1
0
-4
-5

以上这篇JS处理数据四舍五入(tofixed与round的区别详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS异常处理的一个想法(sofish)
Mar 14 Javascript
如何判断鼠标是否在DIV的区域内
Nov 13 Javascript
判断文档离浏览器顶部的距离的方法
Jan 08 Javascript
用jquery仿做发微博功能示例
Apr 18 Javascript
javascript将url中的参数加密解密代码
Nov 17 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
Mar 14 Javascript
uploader秒传图片到服务器完整代码
Apr 22 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
微信小程序封装分享与分销功能过程解析
Aug 13 Javascript
详解elementui之el-image-viewer(图片查看器)
Aug 30 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
May 12 Javascript
小程序点餐界面添加购物车左右摆动动画
Sep 23 Javascript
详谈构造函数加括号与不加括号的区别
Oct 26 #Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 #Javascript
纯JavaScript实现实时反馈系统时间
Oct 26 #Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
Oct 26 #Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
Oct 26 #Javascript
input type=file 选择图片并且实现预览效果的实例
Oct 26 #Javascript
js 只比较时间大小的实例
Oct 26 #Javascript
You might like
相对路径转化成绝对路径
2007/04/10 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
Python中super的用法实例
2015/05/28 Python
python实现红包裂变算法
2016/02/16 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
Python descriptor(描述符)的实现
2020/11/15 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
英语教育专业自荐信
2014/05/29 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
公司员工离职证明书
2014/10/04 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
2016新年致辞
2015/08/01 职场文书
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android