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 相关文章推荐
ext form 表单提交数据的方法小结
Aug 08 Javascript
支持ie与FireFox的剪切板操作代码
Sep 28 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
Mar 25 Javascript
JavaScript 控制字体大小设置的方法
Nov 23 Javascript
jquery.form.js异步提交表单详解
Apr 25 jQuery
react 创建单例组件的方法
Apr 26 Javascript
微信小程序实现的picker多级联动功能示例
May 23 Javascript
微信小程序new Date()方法失效问题解决方法
Jul 29 Javascript
vue3.0中的双向数据绑定方法及优缺点
Aug 01 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
Jun 24 Javascript
React冒泡和阻止冒泡的应用详解
Aug 18 Javascript
vue实现折线图 可按时间查询
Aug 21 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/02/14 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
PHP递归创建多级目录
2015/11/05 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
jQuery之日期选择器的深入解析
2013/06/19 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
决策树的python实现方法
2014/11/18 Python
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
python tornado微信开发入门代码
2018/08/24 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
python实现邮件发送功能
2019/08/10 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
趣味游戏活动方案
2014/02/07 职场文书
文艺晚会主持词
2014/03/24 职场文书
小学班主任培训方案
2014/06/04 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
锅炉工岗位职责
2015/02/13 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
MongoDB 常用的crud操作语句
2021/06/20 MongoDB
Java生成读取条形码和二维码的简单示例
2021/07/09 Java/Android
Python实现科学占卜 让视频自动打码
2022/04/09 Python