JS/javascript取整数 取绝对值 四舍五入(可保留两位小数)方法整理
JS/javascript 小数取整的函数:
1.丢弃小数部分,保留整数部分
js:parseInt(7/2)
2.向上取整,有小数就整数部分加1
js: Math.ceil(7/2)
3,四舍五入.
js: Math.round(7/2)
4,向下取整
js: Math.floor(7/2)
JS/javascript取绝对值:
JS/javascript四舍五入:
方法一:
在js中四舍五入的函数 tofixed(n) , n为要保留的小数位数。
n为0~20,当n超过20的时候,js会出错。
var d=10.005;
var f=d.tofixed(2);
alert(f);
bug:
如果小数点前和要截取的前一位都是0时,不会按常理截取。
var h=0.07
h.tofixed(1)的值为0.0
如果要修改这个缺陷,可以把js中的number类型的tofixed方法重写。
例如:
代码示例:
这样就可以修复number类型的tofixed方法。
方法二:
之前一直在用这个js自带的tofixed函数来进行四舍五入的操作,可是,在实际使用过程中却遇到了问题。
比如
复制代码 代码示例:
var money=0.00542;//0.006;
alert(number(money).tofixed(2));
//0.00
以上结果是错误的,下面的方法通过巧妙的使用math.round函数,完全可以解决数值很小时的精度问题。
代码示例:
1.丢弃小数部分,保留整数部分
js:parseInt(7/2)
2.向上取整,有小数就整数部分加1
js: Math.ceil(7/2)
3,四舍五入.
js: Math.round(7/2)
4,向下取整
js: Math.floor(7/2)
JS/javascript取绝对值:
绝对值在js中我们直接使用abs函数来求,这里就来整理一些关于js中取得变量的绝对值的方法,以便让大家更深入的理解js绝对值的用法
js中的绝对值不怎么常用到,今天在写一个方法的时候遇到了,于是记录下来,与大家共同学习。
js中的默认对象——Math对象下面有一个abs函数,专门用来获取数字的绝对值,如:
Math.abs(-1); //1 Math.abs(-2); //2 当然,这个函数也可以用来获取到变量的绝对值,如:
var aaa=-3; var bbb=abs(aaa); //3 例子:
<script language="javascript">
document.write("0的绝对值为:",Math.abs(0),"<br>");
document.write("1的绝对值为:",Math.abs(1),"<br>");
document.write("-1的绝对值为:",Math.abs(-1),"<br>");
//-->
</script>
另一种方法:
我们知道数学里面的绝对值是不论小数或者整数的,这里面当然也是这样。
var aaa=-3.3; var bbb=abs(aaa); //3.3
JS/javascript四舍五入:
方法一:
在js中四舍五入的函数 tofixed(n) , n为要保留的小数位数。
n为0~20,当n超过20的时候,js会出错。
var d=10.005;
var f=d.tofixed(2);
alert(f);
bug:
如果小数点前和要截取的前一位都是0时,不会按常理截取。
var h=0.07
h.tofixed(1)的值为0.0
如果要修改这个缺陷,可以把js中的number类型的tofixed方法重写。
例如:
代码示例:
number.prototype.tofixed = function(d)
{
var s=this+"";if(!d)d=0;
if(s.indexof(".")==-1)s+=".";s+=new array(d+1).join("0");
if (new regexp("^(-|\\+)?(\\d+(\\.\\d{0,"+ (d+1) +"})?)\\d*$").test(s))
{
var s="0"+ regexp.$2, pm=regexp.$1, a=regexp.$3.length, b=true;
if (a==d+2){a=s.match(/\d/g); if (parseint(a[a.length-1])>4)
{
for(var i=a.length-2; i>=0; i--) {a[i] = parseint(a[i])+1;
if(a[i]==10){a[i]=0; b=i!=1;} else break;}
}
s=a.join("").replace(new regexp("(\\d+)(\\d{"+d+"})\\d$"),"$1.$2");
}if(b)s=s.substr(1);return (pm+s).replace(/\.$/, "");} return this+"";
};
这样就可以修复number类型的tofixed方法。
方法二:
之前一直在用这个js自带的tofixed函数来进行四舍五入的操作,可是,在实际使用过程中却遇到了问题。
比如
复制代码 代码示例:
var money=0.00542;//0.006;
alert(number(money).tofixed(2));
//0.00
以上结果是错误的,下面的方法通过巧妙的使用math.round函数,完全可以解决数值很小时的精度问题。
代码示例:
var money=0.00542;//0.006;
alert(number(money).tofixed(2));
function round2(number,fractiondigits){
with(math){
return round(number*pow(10,fractiondigits))/pow(10,fractiondigits);
}
}
alert(round2(money,2));//0.01
round 方法
返回与给出的数值表达式最接近的整数。
math.round(number)
必选项 number 参数是要舍入到最接近整数的值。
说明
如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。
否则,round 返回小于等于 number 的最大整数。
js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数。
返回与给出的数值表达式最接近的整数。
math.round(number)
必选项 number 参数是要舍入到最接近整数的值。
说明
如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。
否则,round 返回小于等于 number 的最大整数。
js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数。
<script language="javascript">
document.write("<h1>JS保留两位小数例子</h1><br>");
var a=2.1512131231231321;
document.write("原来的值:"+a+"<br>");
document.write("两位小数点:"+a.toFixed(2)+"<br>四位小数点"+a.toFixed(4));
</script>
生产内容,同时打通搜索引擎(SEO)与AI搜索引擎(GEO)流量入口的软件! 点击进入365建站器 »
