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 相关文章推荐
jquery checkbox全选、取消全选实现代码
Mar 05 Javascript
jquery获取子节点和父节点的示例代码
Sep 10 Javascript
JavaScript面向对象编程入门教程
Apr 16 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
Apr 13 Javascript
第十篇BootStrap轮播插件使用详解
Jun 21 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
May 03 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
Aug 07 Javascript
jQuery Validate插件ajax方式验证输入值的实例
Dec 21 jQuery
使用node.js实现微信小程序实时聊天功能
Aug 13 Javascript
Vue入门之数量加减运算操作示例
Dec 11 Javascript
js 将线性数据转为树形的示例代码
May 28 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
Aug 15 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
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
php入门学习知识点一 PHP与MYSql连接与查询
2011/07/14 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
利用纯Vue.js构建Bootstrap组件
2016/11/03 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
vue router导航守卫(router.beforeEach())的使用详解
2019/04/19 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
使用Python实现微信提醒备忘录功能
2018/12/04 Python
python flask框架实现重定向功能示例
2019/07/02 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
巴西男士个人护理产品商店:SHOP4MEN
2017/08/07 全球购物
婴儿地球:Baby Earth
2018/12/25 全球购物
房地产还款计划书
2014/01/10 职场文书
四年级语文教学反思
2014/02/05 职场文书
超市开店计划书
2014/04/26 职场文书
给校长的建议书600字
2014/05/15 职场文书
节水标语大全
2014/06/11 职场文书
入党函调证明材料
2014/12/24 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android