Почему меня возвращает самое меньшее число?

У меня есть этот простой код, который я только что создал, у кода есть конечная цель говорить тебе самое высокое число между двумя, чтобы они были введены. Код функционирует до 99, например, если я размещаю 6 и 99, показывает тебе 99, как больше, но если я размещаю 6, меня показывает несовершеннолетний: Почему это это?

Здесь я оставляю им код:

function maxnum(one,two) {
        if (one > two){
            return one;
        } else 
            return two;
    }
    var uno
    var dos
    alert('Introduzca 2 numeros para decir cual es mayor');
    uno = prompt();
    dos = prompt();

    alert(maxnum(uno,dos));

У меня есть 2 вопроса:

Из-за какого изюма это? Где у меня есть ошибка?

0
задан 10.11.2019, 03:27
1 ответ

Желанный в Stackoverflow... Ты cГіdigo у него нет никакой проблемы ключей, как он говорит один из комментариев. и в самом деле будь почти почти правилен. Твоя проблема пошла clГЎsico проблема типа информации. Использовав prompt () ты не показываешь тип информации, из-за которой просто ты сравниваешь символы. Для того, чтобы ты cГіdigo функционировал только грубая с parsear в целое число prompt () или castearlo в Number . Я буду помещать тебе пример с casteo для того, чтобы ты сделал доказательство с aquГ-:

function maxnum(one,two) {
    if (one > two){
        return one;
    } else 
        return two;
}
var uno
var dos
alert('Introduzca 2 numeros para decir cual es mayor');
uno = (Number)(prompt());// aquí es donde se castea el valor del prompt()
dos = (Number)(prompt());// aquí es donde se castea el valor del prompt()

alert(maxnum(uno,dos));

РАЗЪЯСНЕНИЕ: , Чтобы отвечать, потому что даже будучи символами '6' он превосходящий '100', ты можешь делать доказательство с консоли браузера следующая линия кода:

'6'.charCodeAt(0) > '100'.charCodeAt(0)

результат этой линии - True (костлявая что 6 самый превосходящий 100). Если мы разоружаем эту линию в двух частях, он был бы:

'6'.charCodeAt(0), который равен 54 в коде Американский стандартный код обмена информацией

и

'100'.charCodeAt(0), который равен 49 в коде Американский стандартный код обмена информацией

... именно поэтому 54 > 49.

, Но нужно делать ее aclaraciГіn, что 100 нет один carГЎcter, а - цепь символов, и этот 49 не принадлежит 100 а только 100 (implГ-citamente он берет первого carГЎcter из цепи)

Ты повторил 1 этого, обрежь воспроизводить это в консоли твоего браузера, чтобы проверять:

Imagen de ejemplo

2
ответ дан 01.12.2019, 12:10

Теги

Похожие вопросы