Я создал этот временный конвертер в JavaScript, он работает и вычисляет надлежащим образом, но я получаю некоторое «неожиданное поведение», и я боюсь понять, почему это происходит.Temp Converter с использованием JavaScript
Поведение, которое происходит, заключается в том, что если я нажму в текстовом поле Цельсия или Фаренгейта, он автоматически выдает значения: -32 в текстовом поле Цельсия и 32 в текстовом поле по Фаренгейту. Как только я удалю одно из автоматически полученных значений из текстового поля, оно будет соответствующим образом преобразовываться:
100C преобразуется в 212F, и если вы введете 32F, он преобразуется в 0C.
Эта часть больше бонуса, чтобы увидеть, смогла ли я конвертировать из всех трех измерений температуры по Фаренгейту, Цельсию и Кельвину. Он не конвертируется, если вы вводите значение в текстовом поле Fahrenheit или Celsius, но если вы вводите номер непосредственно в текстовое поле Kelvin, он будет преобразовываться в другие 2 измерения coorectly.
Нужна ли мне петля или инструкция управления, чтобы добавить Kelvin соответствующим образом в эту программу?
имя теги формы является "конвертер" Вот код:
function toCelsius() {
document.converter.fahrenheit.value =(document.converter.celsius.value * 9/5) + 32;
}
function toFahrenheit() {
document.converter.celsius.value = (document.converter.fahrenheit.value *5/9) -32;
}
function toKelvin(){
document.converter.celsius.value = document.converter.kelvin.value - 273.15;
document.converter.fahrenheit.value=((document.converter.kelvin.value - 273.15)*9/5)+32;
}
Не могли бы вы опубликовать полный код, который делает это? либо здесь, либо с помощью jsfiddle.net –
Ваш алгоритм для Фаренгейта по Цельсию неверен, он должен быть «(Фаренгейт - 32) * 5/9'. Аналогично для * к Кельвину *. ;-) – RobG