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 相关文章推荐
JS中的public和private对象,即static修饰符
Jan 18 Javascript
javascript 实现子父窗体互相传值的简单实例
Feb 17 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
jQuery给多个不同元素添加class样式的方法
Mar 26 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
Jun 10 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
Aug 05 Javascript
jQuery焦点图轮播特效代码分享(3款)
Sep 05 Javascript
JavaScript中Array的实用操作技巧分享
Sep 11 Javascript
vue-cli webpack 开发环境跨域详解
May 18 Javascript
JavaScript运动框架 链式运动到完美运动(五)
May 18 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 Javascript
Vue中如何实现proxy代理
Apr 20 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+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
php上传图片类及用法示例
2016/05/11 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
javascript 简单抽屉效果的实现代码
2010/03/09 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
基于js中this和event 的区别(详解)
2017/10/24 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
2018/09/14 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
numpy中的meshgrid函数的使用
2019/07/31 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
Python读取YAML文件过程详解
2019/12/30 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
企业项目策划书
2014/01/11 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
城市创卫标语
2014/06/17 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
色戒观后感
2015/06/12 职场文书
大学生村官入党自传
2015/06/26 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang
2022年显卡天梯图(6月更新)
2022/06/17 数码科技