使用JavaScript,有没有办法将两位数的数字加在一起而不先将其转换为字符串?
例如,我想取15号并将它组成的两个数字加在一起得到6.现在,通常我会做这样的事情:
var myNum = 15,
numString = myNum.toString(),
firstNum = +numString[0],
secondNum = +numString[1];
alert(firstNum + secondNum);
如何在不将数字转换为字符串的情况下完成相同的结果?这甚至可能吗?
答案 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