Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2013, 13:55
Новичок на форуме
Отправить личное сообщение для maksimov.ua Посмотреть профиль Найти все сообщения от maksimov.ua
 
Регистрация: 19.11.2013
Сообщений: 7

Проблема с задачей (нан не нан)
Добрый день уважаемые форумчане, растолкуйте мне почему Нан не Нан и условие не выполняется!
Изображения:
Тип файла: jpg NaN1.jpg (12.0 Кб, 6 просмотров)
Тип файла: png NaN2.png (4.8 Кб, 4 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 25.11.2013, 14:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

maksimov.ua,
Цитата:
Чтобы проверить переменную на NaN, используйте специальную функцию isNaN
prompt возвращает строки а не числа
Ответить с цитированием
  #3 (permalink)  
Старый 25.11.2013, 14:38
Новичок на форуме
Отправить личное сообщение для maksimov.ua Посмотреть профиль Найти все сообщения от maksimov.ua
 
Регистрация: 19.11.2013
Сообщений: 7

isNaN --сработало..
возвраты prompt'а преобразовал вот так :
var result = + product1 + + product2;
проверился Иснаном:
if ( isNaN(result)){
alert("Введены не числа");
и посчитался при false :
else {
result = result.toFixed(10);
result = Math.abs(result);
alert(result + " грн");

Но вопрос закрыт не полностью: Почему отладчик хрома в вотче показал result без кавычек, если это строка?
Ответить с цитированием
  #4 (permalink)  
Старый 25.11.2013, 14:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от maksimov.ua
Почему отладчик хрома в вотче показал result без кавычек, если это строка?
где пример в котором result строка????
Ответить с цитированием
  #5 (permalink)  
Старый 25.11.2013, 14:52
Новичок на форуме
Отправить личное сообщение для maksimov.ua Посмотреть профиль Найти все сообщения от maksimov.ua
 
Регистрация: 19.11.2013
Сообщений: 7

стоп!!! Понимаю, что буду закидан камнями, но НаН строка?
Ответить с цитированием
  #6 (permalink)  
Старый 25.11.2013, 14:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

maksimov.ua,
alert(typeof NaN)
Ответить с цитированием
  #7 (permalink)  
Старый 25.11.2013, 14:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от maksimov.ua
но НаН строка?
Из букваря
Цитата:
Значение NaN не равно никакому другому числу, включая само NaN.

Чтобы проверить переменную на NaN, используйте специальную функцию isNaN.
http://javascript.ru/NaN

Вывод - не строка.
Ответить с цитированием
  #8 (permalink)  
Старый 25.11.2013, 15:04
Новичок на форуме
Отправить личное сообщение для maksimov.ua Посмотреть профиль Найти все сообщения от maksimov.ua
 
Регистрация: 19.11.2013
Сообщений: 7

Собственно код:

var product1 = prompt("Введите цену первого товара: ","");
var product2 = prompt("Введите цену второго товара","");
var result = + product1 + + product2;
alert(typeof NaN);
alert(typeof result);
if (result == NaN){
//if ( isNaN(result)){
alert("Введены не числа");

} else {
result = result.toFixed(10);
result = Math.abs(result);
alert(result + " грн");
}

Дальше после проверки переходим сразу на else, так как проверка возвращает false. Но отладчик показывает, что сравниваю число с НаН, который в свою очередь является тоже число.
watch из crome

product1: "1"
product2: "q"
result: NaN
result == NaN: false
typeof NaN: "number"
typeof result: "number"
Изображения:
Тип файла: png NaN3.png (5.5 Кб, 1 просмотров)
Ответить с цитированием
  #9 (permalink)  
Старый 25.11.2013, 15:05
Новичок на форуме
Отправить личное сообщение для maksimov.ua Посмотреть профиль Найти все сообщения от maksimov.ua
 
Регистрация: 19.11.2013
Сообщений: 7

Сообщение от ksa Посмотреть сообщение
Из букваря

http://javascript.ru/NaN

Вывод - не строка.
Спасибо. Пошел в "букварь!"
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с радио кнопками px379 Общие вопросы Javascript 8 29.07.2013 09:30
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47