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 相关文章推荐
JavaScript 编程引入命名空间的方法
Jun 29 Javascript
javascript 多种搜索引擎集成的页面实现代码
Jan 02 Javascript
js 多浏览器分别判断代码
Apr 01 Javascript
jquery中eq和get的区别与使用方法
Apr 14 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
Mar 13 Javascript
javascript学习笔记(八) js内置对象
Jun 19 Javascript
javasript实现密码的隐藏与显示
May 08 Javascript
ajax如何实现页面局部跳转与结果返回
Aug 24 Javascript
跟我学习javascript的隐式强制转换
Nov 16 Javascript
Bootstrap如何激活导航状态
Mar 22 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
Jul 19 Javascript
jquery实现垂直手风琴菜单
Mar 04 jQuery
详谈构造函数加括号与不加括号的区别
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
根德YB400的电路分析
2021/03/02 无线电
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
js切换光标示例代码
2013/10/10 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
浅谈React高阶组件
2018/03/28 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
python框架django基础指南
2016/09/08 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
Python线程创建和终止实例代码
2018/01/20 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
关于Django Models CharField 参数说明
2020/03/31 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
世界上最大的二手相机店:KEN
2017/05/17 全球购物
总裁助理岗位职责
2014/02/17 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python