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 相关文章推荐
JQuery选择器特辑 详细小结
May 14 Javascript
基于jquery实现控制经纬度显示地图与卫星
May 20 Javascript
jquery实现多行文字图片滚动效果示例代码
Oct 10 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
Jan 12 Javascript
jQuery插件实现多级联动菜单效果
Dec 01 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
Dec 26 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
Feb 08 Javascript
Javascript删除数组里的某个元素
Feb 28 Javascript
Vue实现表格批量审核功能实例代码
May 28 Javascript
微信小程序bindtap事件与冒泡阻止详解
Aug 08 Javascript
原生js实现无缝轮播图
Jan 11 Javascript
Vue实现动态查询规则生成组件
May 27 Vue.js
详谈构造函数加括号与不加括号的区别
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 echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
一秒学会微信小程序制作table表格
2019/02/14 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
django实现前后台交互实例
2017/08/07 Python
python线程里哪种模块比较适合
2020/08/02 Python
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
Internet体系结构
2014/12/21 面试题
应聘美工求职信
2013/11/07 职场文书
婚假请假条怎么写
2014/04/10 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js