2016-10-23 125 views
0

这是假设将转换后的数字作为整数返回。这部分工作,但它并没有转向正确的转换。为什么不能正确转换?

var input = prompt('Please enter your temp in fahrenheit'); 

function converter(){ 
    var x = Math.round(input - 32 * 5/9); 
    console.log(x); 
    return x; 
} 
alert('The temp in celsius is: ' + converter()); 
+1

记住BODMAS,BEDMAS还是PEDMAS? – evolutionxbox

回答

2

将华氏温度转换为摄氏温度的等式为T(°C)=(°F-32)×5/9。您遇到了操作问题的顺序。这应该工作。

var input = prompt('Please enter your temp in fahrenheit'); 

function converter(){ 
    var x = Math.round((input - 32) * 5/9); 
    console.log(x); 
    return x; 
} 
alert('The temp in celsius is: ' + converter()); 
+0

感谢它的工作! – itajenglish

+0

@itajenglish太棒了!很高兴帮助你。如果此答案或任何其他人解决了您的问题,请将其标记为已接受。 –

1

试试这个:

(input - 32) * (5/9); 
2

你缺少paranthesis,这迫使operator precedence接管计算。

var input = prompt('Please enter your temp in fahrenheit'); 
 

 
function converter() { 
 
    var x = Math.round((input - 32) * 5/9); 
 
    console.log(x); 
 
    return x; 
 
} 
 
alert('The temp in celsius is: ' + converter());

1

未正确因为操作者的优先级的转换,JavaScript的算符优先推移从最高(20)到最低(0),乘法/除法具有14和减法具有优先优先级为13,所以需要括号(优先级20)来标记哪个表达式应该先执行。

$(document).ready(function() { 
 
    $('#celsius').on('input', function (event) { 
 
    var celsius = $('#celsius').val(); 
 
    var fahrenheit = celsiusToFahrenheit(celsius); 
 
    $('#fahrenheit').val(fahrenheit); 
 
    }); 
 
    
 
    $('#fahrenheit').on('input', function (event) { 
 
    var fahrenheit = $('#fahrenheit').val(); 
 
    var celsius = fahrenheitToCelsius(fahrenheit); 
 
    $('#celsius').val(celsius); 
 
    }); 
 
    
 
    function celsiusToFahrenheit(celsius) { 
 
    if (celsius === undefined || celsius === null) { 
 
     return celsius; 
 
    } 
 
    
 
    var fahrenheit = celsius * 9/5 + 32; 
 
    
 
    return fahrenheit.toFixed(5); 
 
    } 
 
    
 
    function fahrenheitToCelsius(fahrenheit) { 
 
    if (fahrenheit === undefined || fahrenheit === null) { 
 
     return fahrenheit; 
 
    } 
 
    
 
    var celsius = (fahrenheit - 32) * 5/9; 
 
     
 
    return celsius.toFixed(5); 
 
    } 
 
});
.form-group { 
 
    float: left; 
 
    margin: 5px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div class="form-group"> 
 
    <label>Celsius</label> 
 
    <input type="text" id="celsius"/> 
 
</div> 
 
<div class="form-group"> 
 
    <label>Fahrenheit</label> 
 
    <input type="text" id="fahrenheit"/> 
 
</div>

相关问题