您的位置:首页 > Web前端 > JavaScript

JavaScript 处理浮点数源码

2011-12-07 11:07 197 查看
//浮点数直接截位函数
function formatnumber(value,num){
var tmp,idx,len,i
tmp = value.toString();
idx = tmp.indexOf('.');
len = tmp.length;
if (num==0){
if (idx!=-1)
tmp = tmp.substring(0,idx);
}
else{
if (idx==-1){
tmp = tmp + ".";
for (i=1;i<=num;i++)
tmp = tmp + "0";
} else {
tmp = tmp.substring(0,idx+num+1);
for (i=len;i<=idx+num;i++)
tmp = tmp + "0";
}
}
return tmp
}

//截位带四舍五入
function adv_format(value,num) //四舍五入
{
var a_str = formatnumber(value,num);
var a_int = parseFloat(a_str);
if (value.toString().length>a_str.length){
var b_str = value.toString().substring(a_str.length,a_str.length+1)
var b_int = parseFloat(b_str);
if (b_int<5){
return a_str
}else{
var bonus_str,bonus_int;
if (num==0){
bonus_int = 1;
}else{
bonus_str = "0."
for (var i=1; i<num; i++)
bonus_str+="0";
bonus_str+="1";
bonus_int = parseFloat(bonus_str);
}
a_str = formatnumber(a_int + bonus_int, num)
}
}
return a_str
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: