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(DHTML)中的一些技巧
Jan 09 Javascript
offsetHeight在OnLoad中获取为0的现象
Jul 22 Javascript
Ajax同步与异步传输的示例代码
Nov 21 Javascript
js 判断控件获得焦点的示例代码
Mar 04 Javascript
node.js中的url.parse方法使用说明
Dec 10 Javascript
js改变Iframe中Src的方法
May 05 Javascript
javascript获取当前的时间戳的方法汇总
Jul 26 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
Jan 11 Javascript
Vue.js学习示例分享
Feb 05 Javascript
微信小程序实现图片轮播及文件上传
Apr 07 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
Nov 01 Javascript
微信小程序 如何引入外部字体库iconfont的图标
Jan 31 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设计模式小结
2013/02/15 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
禁止你的左键复制实用技巧
2013/01/04 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
python自动化测试实例解析
2014/09/28 Python
Python编程之属性和方法实例详解
2015/05/19 Python
python语言基本语句用法总结
2019/06/11 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
餐饮加盟计划书
2014/01/10 职场文书
社区健康教育实施方案
2014/03/18 职场文书
股权投资意向书
2014/04/01 职场文书
学校火灾防控方案
2014/06/09 职场文书
党员民主生活会整改措施
2014/09/26 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
小学生成绩单评语
2014/12/31 职场文书
记者节感言
2015/08/03 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
分析Java中Map的遍历性能问题
2021/06/26 Java/Android
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS