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 prototype截取字符串函数
Apr 01 Javascript
document.createElement()用法
Mar 13 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
Apr 19 Javascript
AngularJS实现的回到顶部指令功能实例
May 17 Javascript
React props和state属性的具体使用方法
Apr 12 Javascript
原生JS实现的简单小钟表功能示例
Aug 30 Javascript
微信小程序入门之广告条实现方法示例
Dec 05 Javascript
原生js实现随机点餐效果
Dec 10 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
May 31 Javascript
JavaScript构造函数原理及实现流程解析
Nov 19 Javascript
three.js如何实现3D动态文字效果
Mar 03 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
phpadmin如何导入导出大数据文件及php.ini参数修改
2013/02/18 PHP
JavaScript单元测试ABC
2012/04/12 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
python对html代码进行escape编码的方法
2015/05/04 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
Python决策树分类算法学习
2017/12/22 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
pycharm的python_stubs问题
2020/04/08 Python
解决python运行启动报错问题
2020/06/01 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
上海某公司.net方向笔试题
2014/09/14 面试题
DOM和JQuery对象有什么区别
2016/11/11 面试题
运动会表扬稿大全
2014/01/16 职场文书
党员演讲稿
2014/09/04 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
升职自荐信怎么写
2015/03/05 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
python实现简单石头剪刀布游戏
2021/10/24 Python
Nginx配置https的实现
2021/11/27 Servers
python中的random模块和相关函数详解
2022/04/22 Python