javascript四舍五入--保留小数位数

/****************************************************************
 * value:需要处理的数字
 * fixLength:保留几位小数,最大不能大于10
 * isRound:是否需要四舍五入,true需要,false不需要,默认不进行操作
 *       (看fixLength的后面一位是否需要进行操作,即保留2位,则看第三位是否需要四舍五入
 * **************************************************************/
function toFixRound(value,fixLength,isRound){
var lessZeroFlag=false;//默认不是小于0
if(isNaN(value)){return value;}
if(value<=0){
lessZeroFlag=true;
value=value*-1;//转为正数
}
//判断是不是整数
if((parseInt(fixLength, 10) === fixLength)==false){return returnValue(value,lessZeroFlag);}
//判断是否大于10
if(fixLength>10){return returnValue(value,lessZeroFlag);}
var afterDotLength=fixLength+1;
var round=false;
if(typeof(isRound)=="boolean"){round=isRound;}
//动态构造表达式
    eval("var validateReg = /^\\d+\\.\\d{"+afterDotLength+",}$/;"); 
if(false==validateReg.test(value)){
return returnValue(value,lessZeroFlag);
}
var times=Math.pow(10,fixLength);
var result=0;
if(round==true){//需要四舍五入
result = (Math.round(value*times)/times);
}else{//不需要四舍五入
result = (Math.floor(value*times)/times);
}
return returnValue(result,lessZeroFlag);

//flag==true表示当前value是绝对值,需要进行还原
function returnValue(value,flag){
if(flag){
return value*-1;
}else{
return value;
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值