Javascript.RU

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

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

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

Сообщение от 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, 16:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 11,205

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

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

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

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, 05:12
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 2,925

var n = 2017;

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


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



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

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


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