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 相关文章推荐
判断用户是否在线的代码
Mar 05 Javascript
jQuery ajax serialize() 方法使用示例
Nov 02 Javascript
使用AOP改善javascript代码
May 01 Javascript
jQuery如何使用自动触发事件trigger
Nov 29 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
Jan 18 Javascript
javaScript给元素添加多个class的简单实现
Jul 20 Javascript
在线引用最新jquery文件的实现方法
Aug 26 Javascript
详解Angular 4.x 动态创建组件
Apr 25 Javascript
Vue计算属性的使用
Aug 04 Javascript
通过 JS 判断页面是否有滚动条的实现方法
Apr 05 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
May 17 Javascript
jQuery 选择器用法基础入门示例
Jan 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
php获取某个目录大小的代码
2008/09/10 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
php异常处理捕获错误整理
2019/09/23 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
Javascript数组操作函数总结
2015/02/05 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
详解JS实现简单的时分秒倒计时代码
2019/04/25 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
详解django中Template语言
2020/02/22 Python
使用OpenCV对车道进行实时检测的实现示例代码
2020/06/19 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
优秀导游先进事迹材料
2014/01/25 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
小学教师评语大全
2014/04/23 职场文书
英语教师自荐信
2014/05/26 职场文书
电子专业自荐信
2014/07/01 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
检察院起诉意见书
2015/05/20 职场文书
常住证明范本
2015/06/23 职场文书
清洁工工作总结
2015/08/11 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python