Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2017, 14:19
Кандидат Javascript-наук
Отправить личное сообщение для yaparoff Посмотреть профиль Найти все сообщения от yaparoff
 
Регистрация: 26.04.2016
Сообщений: 105

Найти сумму цифр числа
Есть число 2017, как найти сумму его цифр?
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2017, 14:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,776

Сообщение от yaparoff
Есть число 2017, как найти сумму его цифр?
Пройтис в цикле по его символам... Преобразовать символ в натуральное число... Суммировать те числа.
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2017, 15:16
Кандидат Javascript-наук
Отправить личное сообщение для yaparoff Посмотреть профиль Найти все сообщения от yaparoff
 
Регистрация: 26.04.2016
Сообщений: 105

Сообщение от ksa
Пройтис в цикле по его символам
Вот именно это и интересует. Как разбить число по символам?
Например, вот так сработает:
'2017'.split('');
- выводиться: 2,0,1,7
А если это делать в функции?
function getNumbersSum(num){
  var result = 'num'.split('');
  alert(result);
}
getNumbersSum(2017);

тогда выводиться: n,u,m - и нет никаких чисел
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2017, 15:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,325

function getNumbersSum(num){
     return num.toString().split('').reduce(function(a, b) {
         return +a + +b;
     })
}
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2017, 15:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,776

Сообщение от yaparoff
А если это делать в функции?
Например так...

var n=12345;
alert((''+n).split(''));
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2017, 22:54
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,366

function getSumNumber(num) {
    var sum = 0, tmp;
    while (num) {
        tmp = num % 10;
        num = (num - tmp) / 10;
        sum += tmp;
    }
    return sum;
}

alert(getSumNumber(2610));

вариант без использования преобразований
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2017, 04:12
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 2,928

var n = 2017;

alert( eval(n.toString().split('').join('+')) );


alert( eval(n.toString().replace(/\d/g, '+$&')) );
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти процент от числа? js Холоп Общие вопросы Javascript 12 20.03.2016 15:44
JS задача. Взаимно простые числа sashok Общие вопросы Javascript 5 23.11.2014 09:16
Найти совпадения из цифр в поле sql arahmanov Серверные языки и технологии 3 25.11.2013 08:59
Логические задачи по циклам wawandas Общие вопросы Javascript 8 04.09.2012 15:46
Помогите найти ошибку((( hacker_007 Общие вопросы Javascript 5 28.01.2011 16:37