0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 9
|
|||||||||||
1 | |||||||||||
Как убрать NaN?15.05.2016, 09:37. Показов 11339. Ответов 14
Метки нет (Все метки)
Чтобы не было написано NaN, а к примеру 0.
Здесь в Особый режим(fieldres1) выдает NaN, когда field1 и field2 не заполнены. Точнее заполнены, но при удалении значений выдает NaN...
1.Один 2.Два 3.Три Помогите позязя!
0
|
15.05.2016, 09:37 | |
Ответы с готовыми решениями:
14
Как вернуть NaN и Infinity, проверить на NaN и Infinity? Как реализована Double.NaN != Double.NaN Ошибка -nan(ind) и nan Как поймать NaN |
32 / 31 / 21
Регистрация: 13.07.2014
Сообщений: 374
|
||||||
15.05.2016, 10:12 | 2 | |||||
может просто проверить и изменить если NaN:
0
|
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 9
|
|
16.05.2016, 01:24 [ТС] | 3 |
не работает(
и к тому же, NaN выдает не tf ведь, а hh, и почему знак неравенства?
0
|
2355 / 1365 / 649
Регистрация: 23.08.2015
Сообщений: 3,411
|
||||||
16.05.2016, 10:14 | 5 | |||||
Сообщение было отмечено Shekanya как решение
Решение
NaN == NaN всегда возвращает false. Правильней будет так
1
|
12 / 12 / 2
Регистрация: 02.12.2015
Сообщений: 620
|
|
16.05.2016, 11:48 | 6 |
hh=hh*1 и value=0 в инпуте не подходит?
0
|
2355 / 1365 / 649
Регистрация: 23.08.2015
Сообщений: 3,411
|
|
16.05.2016, 12:26 | 7 |
НиколайВасильев, NaN*1 вернет NaN
0
|
Философ-разговорник
|
|
16.05.2016, 14:16 | 8 |
Я может чего не догоняю, но, если не затруднит уважаемую публику, объясните мне нормально ли иметь две функции с одинаковыми именами и ожидать, что они не переназначат друг друга, а будут работать обе-две?! Если так, то нахрена я всем функциям даю разные названия и вообще даю названия, а не использую анонимные?
0
|
12 / 12 / 2
Регистрация: 02.12.2015
Сообщений: 620
|
|
16.05.2016, 19:58 | 9 |
0
|
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 9
|
||||||
17.05.2016, 00:44 [ТС] | 10 | |||||
Работает! Спасибо! А не могли бы вы еще объяснить, почему в остальных output'ах не выводился NaN, а только в первом?
И нельзя ли без вот таких костылей как
Добавлено через 6 минут Действительно, ведь NaN не может быть равен NaN - https://ru.wikipedia.org/wiki/NaN Или я вас неправильно понял? Что вы именно имели ввиду? Добавлено через 1 минуту Вы об чем?
0
|
2355 / 1365 / 649
Регистрация: 23.08.2015
Сообщений: 3,411
|
|
17.05.2016, 00:50 | 11 |
Shekanya, Если не удается привести строку в число, то получается NaN, что означает "не чмсло", т.е. parseFloat("") или parseFloat("abc") вернет NaN. Если NaN умножить на любое число, то вернется тоже NaN. Так же NaN может возникнуть при делении 0/0.
0
|
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 9
|
|
17.05.2016, 00:58 [ТС] | 12 |
Ды это понятно, непонятно почему
и
0
|
2355 / 1365 / 649
Регистрация: 23.08.2015
Сообщений: 3,411
|
||||||
17.05.2016, 01:12 | 13 | |||||
Сообщение было отмечено Shekanya как решение
Решение
Shekanya, У вас же там условия стоят hh<30 и т.д. везде false получается
Добавлено через 4 минуты Shekanya, Можно еще так сделать
1
|
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 9
|
||||||||||||||||||||||||||
18.05.2016, 13:14 [ТС] | 14 | |||||||||||||||||||||||||
Понятно)
А вот этот вариант - вообще красота. С предыдущим костылем
А
0
|
2355 / 1365 / 649
Регистрация: 23.08.2015
Сообщений: 3,411
|
|
18.05.2016, 19:54 | 15 |
Shekanya, Здесь вот в чем дело
1*"" вернет 0, однако 1*"5.2asd" вернет NaN, в то время как 1*parseFloat("") вернет NaN, а 1*parseFloat("5.2asd") вернет 5.2 Вот такие дела. Есть прием короткой записи перевода числа в строку как str*1, но он работает, если в строке содержатся только цифры, есть плюс, если строка пустая, то получится 0. В противном случае, самый универсальный способ parseFloat(str)||0. Именно поэтому у вас возникало NaN, только там, где вы использовали parseFloat. Так как type number.
0
|
18.05.2016, 19:54 | |
18.05.2016, 19:54 | |
Помогаю со студенческими работами здесь
15
Как избавиться от NaN? Как спровоцировать NAN? Как отловить +/-INF и NAN? Как вместо nan вывести строку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |