楼主在进行计算的时候也计算结果的字符串长度,如果长度不够就在前面链接N个0,例如:要求:长度10,不够以0在前面补充得出的结构假如是sum = 123那么就: var s = ""; for(var i = 0; i < 10 - (sum + "").length; i++){ s += "0"; } s += sum; alert(sum);就会成为“0000000123”了
function fun1(str1,str2){ var len = str1.length>str2.length?str1.length:str2.length; var sum = parseInt(str1,10)+parseInt(str2,10); return "000000000000".substring(0,len-(sum+"").length)+sum; } alert(fun1("000019","1"));
稍微写了一下. LZ看一下<script language="javascript"> function showLongNum(num, length){ var numLong = num.toString().length; if(numLong >= length){return num.toString();}
var needZero = length - numLong; var str = ""; for(var i =0; i < needZero;i++){ str += "0"; } str += num.toString(); return str; }
function addOn(str1, str2){ return parseInt(str1, 10) + parseInt(str2, 10); }
function init(){ var Num1 = "0002334", Num2 = "004523002"; var sub = addOn(Num1, Num2);//求整数的和 var maxNumberLength = Math.max(Num1.length, Num2.length);//取最长一个数的长度 var result = showLongNum(sub, maxNumberLength);//根据长度补0 alert(result); return result; }
一位一位加,注意进位。或者不管前面的0,把结果算出来,然后把前面的0补上。不要转型,当string存。
var s = "";
for(var i = 0; i < 10 - (sum + "").length; i++){
s += "0";
}
s += sum;
alert(sum);就会成为“0000000123”了
var len = str1.length>str2.length?str1.length:str2.length;
var sum = parseInt(str1,10)+parseInt(str2,10);
return "000000000000".substring(0,len-(sum+"").length)+sum;
}
alert(fun1("000019","1"));
function showLongNum(num, length){
var numLong = num.toString().length;
if(numLong >= length){return num.toString();}
var needZero = length - numLong;
var str = "";
for(var i =0; i < needZero;i++){
str += "0";
}
str += num.toString();
return str;
}
function addOn(str1, str2){
return parseInt(str1, 10) + parseInt(str2, 10);
}
function init(){
var Num1 = "0002334", Num2 = "004523002";
var sub = addOn(Num1, Num2);//求整数的和
var maxNumberLength = Math.max(Num1.length, Num2.length);//取最长一个数的长度
var result = showLongNum(sub, maxNumberLength);//根据长度补0
alert(result);
return result;
}
window.onload = init;
</script>