javascript求一个多位数的各位之和

来源:百度知道 编辑:UC知道 时间:2024/05/26 14:51:30
<html>
<head><title>测试</title></head>
<body><script language="javascript">
var a=123;
var sum;
while(a!=0)
{
sum+=a%10;
a=a/10;
}
document.write(sum);
</script>
</body>
</html>
为什么出不来啊 ??
qingandxiong 的答案十分正确
kusirp21 说的 很在理 但是我试了把 a /= 10;换一下:a = parseINT(a/10) 还是没有结果 能解答一下么 贴出正确的程式 吧

你相信 a = a/10的结果不一定是整数吗?
如果相信那么a!=0是什么时候?
如果不信可以再看一下书了!
因为JS是弱定义的,其结果一定不会是整数的,因为在js中要要没有整形或是浮点型的说法,JS只有一个数据型.所以我相信a=a/10除非a=0否则要至少计算32次才行.因为32位是js所支持的,只有在32位后小于0时才被作0算的!

这下知道你的错误了吧?可以将a /= 10;换一下:a = parseINT(a/10)我想这样才能得到你的结果的!

你想要的是不是 1+2+3=6?
如果是的话 那么就是这么写

<script language="javascript" type="text/javascript">
var numberB=0;
function add(){
var number=123;
var numberA;
for(var i=0;i<number.toString().length;i++){
if("0123456789".indexOf(number.toString().substr(i,1))>-1){
numberA=new Number(number.toString().substr(i,1));
numberB=numberB+numberA;
}
}
alert(numberB);
}
</script>

var sum=0,n=0;
var num=prompt("请输入一个数");
for(;num>0;)
{