Автор Тема: Сложение чисел на js  (Прочитано 2469 раз)

07 Июль, 2016, 11:10:25

Оффлайн WebCyber

  • Продвинутый юзер
  • ****
  • Сообщений: 306
  • Репутация: 1
  • OS: Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser: Chrome 51.0.2704.106 Chrome 51.0.2704.106
    • Просмотр профиля
Подскажите как сделать чтобы при вводе в текстовый инпут ряда цифр получалась их сумма? То есть к примеру если ввести 333 то подсчет будет равен их сумме то есть 9.

Форум вебмастеров - Webmasters.BY

Сложение чисел на js
« : 07 Июль, 2016, 11:10:25 »

07 Июль, 2016, 21:46:59
Ответ #1

Оффлайн Diver

  • Administrator
  • Гуру форума
  • *****
  • Сообщений: 4945
  • Репутация: 112
  • Шииикарно!
  • OS: Windows NT 10.0 Windows NT 10.0
  • Browser: Firefox 47.0 Firefox 47.0
    • Просмотр профиля
ну первое что приходит в голову, это разбить строку при помощи метода split(''), а затем пройтись в цикле по элементам массива и сложить их

09 Июль, 2016, 19:16:05
Ответ #2

Оффлайн WebCyber

  • Продвинутый юзер
  • ****
  • Сообщений: 306
  • Репутация: 1
  • OS: Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser: Chrome 51.0.2704.106 Chrome 51.0.2704.106
    • Просмотр профиля
Нашел способ как находить сумму значений в массиве с помощью метода reduce но при условии если они изначально были прописаны в массиве как числовые значения. Но текстовый инпут возвращает строковые значения, я не могу их конвертировать в числовые данные, как это сделать? Пробовал через forEach, но судя по всему у меня синтаксис не правильный, не получается в общем  ::)
Вот тут посмотрите..
http://plnkr.co/edit/f78bMwLrikdFc2E93YPc?p=preview

10 Июль, 2016, 20:17:29
Ответ #3

Оффлайн WebCyber

  • Продвинутый юзер
  • ****
  • Сообщений: 306
  • Репутация: 1
  • OS: Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser: Chrome 51.0.2704.106 Chrome 51.0.2704.106
    • Просмотр профиля
Собственно сделал)) вот так оно должно быть:
http://plnkr.co/edit/f78bMwLrikdFc2E93YPc?p=preview

10 Июль, 2016, 20:34:59
Ответ #4

Оффлайн Diver

  • Administrator
  • Гуру форума
  • *****
  • Сообщений: 4945
  • Репутация: 112
  • Шииикарно!
  • OS: Windows NT 10.0 Windows NT 10.0
  • Browser: Firefox 47.0 Firefox 47.0
    • Просмотр профиля
можно еще использовать функцию parseInt для преобразования строки в число
return parseInt(a, 10) + parseInt(b, 10);