你可以将两位数的数字加在一起而不首先将其转换为字符串吗?

时间:2013-05-07 14:50:16

标签: javascript

使用JavaScript,有没有办法将两位数的数字加在一起而不先将其转换为字符串?

例如,我想取15号并将它组成的两个数字加在一起得到6.现在,通常我会做这样的事情:

var myNum = 15,
    numString = myNum.toString(),
    firstNum = +numString[0],
    secondNum = +numString[1];

alert(firstNum + secondNum);

如何在不将数字转换为字符串的情况下完成相同的结果?这甚至可能吗?

1 个答案:

答案 0 :(得分:7)

> 15 % 10 + Math.floor(15 / 10)
6

或递归:

function sumDigits(n) {
  return n % 10 + (n > 0 ? sumDigits(Math.floor(n / 10)) : 0);
}
> sumDigits(123)
6