Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.11.2019
Сообщений: 21

Почему-то JavaScript неправильно складывает числа

08.06.2020, 21:58. Показов 1768. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня такое задание: Написать сценарий, который вычисляет среднюю годовую температуру воздуха по заданным месячным температурам.

Я написал такой HTML код:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
    <head>
        <title>Средняя годовая температура</title>
        <script type="text/javascript" src="script7.js"></script>
    </head>
    <body>
        <form name="forma1">
            Температура в январе <input type="text" name="t1" size="10"><br><br>
            Температура в феврале <input type="text" name="t2" size="10"><br><br>
            Температура в марте <input type="text" name="t3" size="10"><br><br>
            Температура в апреле <input type="text" name="t4" size="10"><br><br>
            Температура в мае <input type="text" name="t5" size="10"><br><br>
            Температура в июне <input type="text" name="t6" size="10"><br><br>
            Температура в июле <input type="text" name="t7" size="10"><br><br>
            Температура в августе <input type="text" name="t8" size="10"><br><br>
            Температура в сентябре <input type="text" name="t9" size="10"><br><br>
            Температура в октябре <input type="text" name="t10" size="10"><br><br>
            Температура в ноябре <input type="text" name="t11" size="10"><br><br>
            Температура в декабре <input type="text" name="t12" size="10"><br><br>
            <input type="button" name="button" value="Вычислить" onClick="temperature(forma1);"><br><br>
            Средняя годовая температура равна <input type="text" name="res" size="10">
        </form>
    </body>
</html>
И такой скрипт:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function temperature(obj){
    var a1=obj.t1.value;
    var a2=obj.t2.value;
    var a3=obj.t3.value;
    var a4=obj.t4.value;
    var a5=obj.t5.value;
    var a6=obj.t6.value;
    var a7=obj.t7.value;
    var a8=obj.t8.value;
    var a9=obj.t9.value;
    var a10=obj.t10.value;
    var a11=obj.t11.value;
    var a12=obj.t12.value;
    var t=a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12; {тут потом ещё поделить на 12, но оно вроде работает правильно}
    obj.res.value=t;
}
Проблема заключается в том, что скрипт не складывает числа, а просто записывает их в строку, менял тип на number и всё равно получается тоже самое:
Миниатюры
Почему-то JavaScript неправильно складывает числа  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.06.2020, 21:58
Ответы с готовыми решениями:

Почему-то JavaScript неправильно складывает числа
У меня такое задание: Написать сценарий, который вычисляет среднюю годовую температуру воздуха по заданным месячным температурам. Я...

Программа почему то складывает числа не правильно. Не могу найти ошибку
; Сделать ввод числа и перевести в двоично-десятичную. Вывести результат на экран MODEL SMALL stk segment STACK db 256 dup (0) stk...

VBA неправильно складывает переменные
Не могу понять в чем дело может кто сталкивался, в коде ниже переменные Osn_pr_ne_prc,Vsp_pr_prc получаются правильными, а Ventiliacia_prc,...

2
Эксперт JS
 Аватар для Iverycool
1586 / 796 / 362
Регистрация: 01.02.2019
Сообщений: 1,047
08.06.2020, 22:10
Лучший ответ Сообщение было отмечено nikversity как решение

Решение

nikversity, Вот так всё работает:
JavaScript
1
2
3
4
function temperature(obj){
obj.res.value = [...obj.querySelectorAll('input[type="text"]')]
  .reduce((sum, node) => sum + +node.value, 0);
}
2
Эксперт JS
 Аватар для Iverycool
1586 / 796 / 362
Регистрация: 01.02.2019
Сообщений: 1,047
09.06.2020, 17:49
nikversity, Работает так: получаем массив всех текстовых инпутов, затем обрабатываем массив функцией reduce и получаем сумму, предварительно получая число из строки унарным плюсом.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.06.2020, 17:49
Помогаю со студенческими работами здесь

Сумма целых чисел массива(неправильно складывает)
Народ почему у меня вывод 98 static void Main(string args) { int addTwoDigits(int n) { ...

Почему неправильно отображаются числа?
Почему неправильно отображаются числа? Как привести к нормальному виду?

Почему неправильно перемножаются числа в long ?
Умножаю 1000000000 на 14, получаю 1115098112. Что я делаю не так ?

Почему + замещает, а не складывает?
Мне надо найти сумму от умножения двух чисел. Вот мои блоки, только почему + замещает (1+2=12 почему?):(:(:(:(:( &lt;p&gt;Введите первое...

Программа которая складывает 2 числа.Числа вбиты в программу заранее. Не получается. Плохо знаю этот язык
Помогите пожалуйста(((


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru