JavaScript和HTML中数字的所有数字的总和

时间:2017-01-25 08:38:05

标签: javascript html function integer-arithmetic

我想编写一个计算数字所有数字之和的程序。我看到了类似的帖子,但没有一个是用HTML编写的。我没有得到任何输出,网页完全空白。

<!DOCTYPE html>
<html>
<head>
<title>sample</title>
</head>
<body>
<p id ="demo"></p>
<script>

n=prompt("enter a number");
function adddigits(n)
{
    s=0;
    while(n!=0)
    {
        s=s+n%10;
        n=n/10;
    }
    document.getElementById("demo").innerHTML = "sum of the digits" + s ;
}
</script>

</body>
</html>

3 个答案:

答案 0 :(得分:2)

  

计算数字所有数字之和的程序

正确的方式:

&#13;
&#13;
n = prompt("enter a number");

function getSum(n) {
  if (!/^\d+$/.test(n)) {   // check for non-digit input
  	throw new Error('Wrong number: ' + n);
  }
  
  // converting each digit from text representation into number 
  // and getting sum of them
  var sum = n.split('').map(Number).reduce(function(a,b) { return a + b; });
  document.getElementById("demo").innerHTML = "sum of the digits: " + sum ;
}

getSum(n);  // calling function to calculate the sum of numbers
&#13;
<p id ="demo"></p>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

无论如何,你没有打电话给你的功能。您可以通过向以下内容添加以下代码来实现:

$( document ).ready(function() {
    var n=prompt("enter a number");
    adddigits(n); 
});

答案 2 :(得分:0)

您忘记删除其余部分的尾随部分,例如n=n/10变为n=Math.floor(n/10)

var n = prompt("enter a number");
adddigits(n);

function adddigits(n) {
  var s = 0;
  while (n != 0) {
    s = s + n % 10;
    n = Math.floor(n / 10);
  }
  alert(s);
}