2016-10-23 4 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

これを試してください:あなたは計算を引き継ぐためにoperator precedenceを強制paranthesisを、欠けている

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

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>

関連する問題