如:function digitForIgnore(digit,count)
{
//方法体
}运行效果:digitForIgnore(1.234,1)=1.3
digitForIgnore(1.234,2)=1.24digitForIgnore(1.20034,1)=1.3求教方法体里应该怎么写?谢谢
{
//方法体
}运行效果:digitForIgnore(1.234,1)=1.3
digitForIgnore(1.234,2)=1.24digitForIgnore(1.20034,1)=1.3求教方法体里应该怎么写?谢谢
function digitForIgnore(digit,count)
{
digit=digit.toString();
var str="";
if(digit.indexOf(".")!=-1){
var n=digit.split(".");
var b=n[1];
if(b.length>count)
{
str=b.substring(0,count);
if(b.substring(b.length-count,b.length-count+1)!=0){
str++
}
str=n[0]+"."+str;
}else{
for(var i=0;i<count-b.length;i++){
str+="0";
}
str=digit+str;
}
}else{
for(var i=1;i<=count;i++){
str+="0";
}
str=digit+"."+str;
}
return str;
}
alert(digitForIgnore(1.234,1));//1.3
alert(digitForIgnore(1.234,2));//1.24
alert(digitForIgnore(1.20034,1));//1.3
alert(digitForIgnore(1.2,3));//1.200
alert(digitForIgnore(1.211,3));//1.211
alert(digitForIgnore(23,3));//23.000
</script>
(function(){
if(!window['Z']){
window['Z']={};
}
function round(num,prec){
var a=9;
for(var i=0;i<=prec;i++){
a=a/10;
}
num+=a;
var start=(num+"").indexOf(".");
var end=start+prec+1;
num=(num+"").substring(0,end);
return num;
}
window['Z']['round']=round;
}
)();
alert(Z.round(1.234,1));
alert(Z.round(1.234,2));
alert(Z.round(1.20034,1));
</script>
不明白你的意思
为什么digitForIgnore(1.20034,1)=1.3啊
不是1.2后是0应该是1.2吗?
function digitForIgnore(digit,count)
{
return isNaN(digit) || isNaN(count) ? NaN : Math.ceil(digit*Math.pow(10,count))*Math.pow(10,-count)
}
function digitForIgnore(digit,count)
{
digit=digit.toString();
var str="";
if(digit.indexOf(".")!=-1){
var n=digit.split(".");
var b=n[1];
for(var i=0;i<count;i++){
b+="0";
}
str=b.substring(0,count);
if(b.substring(count,count+1)!=0){
str++
}
str=n[0]+"."+str;
}else{
for(var i=1;i<=count;i++){
str+="0";
}
str=digit+"."+str;
}
return str;
}alert(digitForIgnore(1.234,1));//1.3
alert(digitForIgnore(1.234,2));//1.24
alert(digitForIgnore(1.20034,1));//1.2 不应该是1.3
alert(digitForIgnore(1.2,3));//1.200
alert(digitForIgnore(1.211,3));//1.211
alert(digitForIgnore(23,3));//23.000
</script>
2. Math.floor(1.234*Math.pow(10,2)+1)/Math.pow(10,2) = 1.24
3. .................所以:
var result = Math.floor(digit*Math.pow(10,count)+1)/Math.pow(10,count)
算法就 第一个数乘以10的count次方,然后结果+1后,再取整数(舍去小数),然后除以count次方即可!中间还需要考虑到数字的异常情况。