$(document).on('pageshow','#temperatureContents',function(){
$(document).off('click','#convertbtnTemp').on('click','#convertbtnTemp',function(){
textFieldValue = $('#numberField').val();
});
});
if(selectFrom == "celcius" && selectTo == "kelvin"){
celToKel(selectFrom,selectTo,textFieldValue);
}
function celToKel(selectFrom,selectTo,textFieldValue){
var value = Number(textFieldValue).toFixed(1);
var result = (value + 273.15);
displayResult(selectFrom,selectTo,result);
}
function displayResult(selectFrom,selectTo,result){
$('#resultDiv').show();
$('#resultDisplay').empty().append("the Result of " + selectFrom + " to " + selectTo + " is: " + result);
}
问题在于这两行它给了我 1 + 273.15 = 1.0273.15 但是我想在273.15中加1,我怎么能得到这个呢?
var value = Number(textFieldValue).toFixed(1);
var result = (value + 273.15);
答案 0 :(得分:2)
Number.toFixed()
的结果是一个字符串。因此,在您的代码中,+
运算符将执行字符串连接,并获得结果"1.0273.15"
。
你想要的可能更多这些方面。使用parseInt()
将输入值转换为数字,然后进行计算,最后应用toFixed()
以获得正确的小数位数。
// ...
var value = parseInt(textFieldValue, 10 );
var result = (value + 273.15).toFixed(1);
displayResult(selectFrom,selectTo,result);
// ...
答案 1 :(得分:0)
变量value
被视为字符串。可能是因为.toFixed(1)
修改。但是,您可以通过执行以下操作之一强制将其作为一个数字进行下注
result= (value*1) + 273.15
result= parseInt(value) + 273.15