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 相关文章推荐
ie和firefox中img对象区别的困惑
Dec 27 Javascript
一个JS翻页效果
Jul 23 Javascript
JavaScript Cookie的读取和写入函数
Dec 08 Javascript
文档对象模型DOM通俗讲解
Nov 01 Javascript
JS中的数组的sort方法使用示例
Jan 22 Javascript
jquery实现触发时更新下拉列表内容的方法
Dec 02 Javascript
使用Javascript实现选择下拉菜单互移并排序
Feb 23 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
Jan 08 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
Mar 03 Javascript
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
vue 监听屏幕高度的实例
Sep 05 Javascript
JS实现炫酷轮播图
Nov 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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
深入PHP变量存储的详解
2013/06/13 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
phpstudy2020搭建站点的实现示例
2020/10/30 PHP
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
Python探索之自定义实现线程池
2017/10/27 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
利用pyinstaller打包exe文件的基本教程
2019/05/02 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
HTML5 Canvas 破碎重组的视频特效的示例代码
2019/09/24 HTML / CSS
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
经济管理专业自荐信
2013/12/30 职场文书
电焊工工作岗位职责
2014/02/06 职场文书
推广普通话的宣传语
2015/07/13 职场文书
小学教师教学反思
2016/02/24 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
python可视化之颜色映射详解
2021/09/15 Python
浅析python中特殊文件和特殊函数
2022/02/24 Python