网站地图    收藏   

主页 > 前端 > javascript >

js中round()、oFixed()四舍五入函数

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 在js中常用的四舍五入函数是否round()函数,自Javascript1.5新增函数oFixed函数,也可以实现round()函数的功能,下面我来详细的介绍两个函数的用法。...

round方法
巨强的四舍五入的转换函数,如下:

 代码如下 复制代码

function round(v,e){

var t=1;

for(;e>0;t*=10,e--);

for(;e<0;t/=10,e++);

return Math.round(v*t)/t;

}

参数里的:

v表示要转换的值

e表示要保留的位数

函数里的两个for,这个是重点了,

第一个for针对小数点右边的情况,也就是保留小数点右边多少位;

第二个for针对小数点左边的情况,也就是保留小数点左边多少位。

for的作用,就是计算t的值,也就是v应该放大或者缩小多少倍的倍数(倍数=t)。

for这里利用到了for里的两个特性,条件判断和计数器累计(循环),

当e满足条件时for继续,并且e每次累加(e的每次累加,就是给for制造不满足循环的条件)的同时,也计算t的值。

最后利用了原生的round方法来计算被放大/缩小后的v的结果,然后把结果放大/缩小到正确的倍


Javascript1.5新增函数oFixed

在Javascript1.5(IE5.5+,NS6+以上版本支持)中,新增了2个专门用于货币流通的函数:

oFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

在本例中,我们将把数字舍入为仅有一位小数的数字:

 代码如下 复制代码


Show the number 13.37 with one decimal:
<script type="text/javascript">
var num = new Number(13.37);
document.write (num.toFixed(1))
</script>

输出:

Show the number 13.37 with one decimal:
13.4

Number.toFixed(x)是将指定数字截取小数点后x位,Number.toPrecision(x)是将整个数字截取指定(x)长度。

注意,一个是计算小数点后的长度,一个是计算整个数字的长度。

请看完整示例:

Javascript:

 代码如下 复制代码


<script type="text/javascript">

var aa = 2.3362;

document.write(aa.toFixed(1)); // 2.3

document.write(aa.toFixed(2)); // 2.34

document.write(aa.toPrecision(2)); // 2.3

document.write(aa.toPrecision(3)); // 2.34

document.write(Math.round(aa * 10) / 10); // 2.3

document.write(Math.round(aa * 100) / 100); // 2.34


</script>

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论