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 cookie解码函数(兼容ff)
Mar 17 Javascript
JavaScript之编码规范 推荐
May 23 Javascript
jquery仿搜索自动联想功能代码
May 23 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
Jun 10 Javascript
深入浅析Node.js 事件循环
Dec 20 Javascript
[原创]javascript typeof id==='string'?document.getElementById(id):id解释
Nov 02 Javascript
JS轮播图中缓动函数的封装
Nov 25 Javascript
js判断PC端与移动端跳转
Dec 24 Javascript
限时抢购-倒计时的完整实例(分享)
Sep 17 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
Jan 09 Javascript
详解Node.js读写中文内容文件操作
Oct 10 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
Oct 27 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
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
php压缩文件夹最新版
2018/07/18 PHP
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
Python lambda函数基本用法实例分析
2018/03/16 Python
python和opencv实现抠图
2018/07/18 Python
python的pstuil模块使用方法总结
2019/07/26 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
Python新手学习装饰器
2020/06/04 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
2014年迎新年活动方案
2014/02/19 职场文书
人事专员的职责
2014/02/26 职场文书
复兴之路观后感
2015/06/02 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
Golang中channel的原理解读(推荐)
2021/10/16 Golang
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS