2016-12-20 3 views
1

var cTempは文字列であるため、温度の結果とx変数の結果を加算したいが、これは不可能である。 toFixedを呼び出す変数値を追加したいが、結果番号が文字列として表示される

//Temperature from Puebla 
var cTemp; 
var dTemp; 

var outside = $.getJSON("http://ip-api.com/json", function(data2){ 
    lat = data2.lat; 
    long = data2.lon; 
    var api='http://api.openweathermap.org/data/2.5/weather?lat=' + lat + '&lon=' + long + '&appid=cd380bb8125ea7190ceb6ca01bc0f681'; 

    $.getJSON(api, function(data){ 
     var kelvin = data.main.temp; 
     cTemp = (kelvin - 273).toFixed(1); 
     $(".pueblatemp").html(cTemp); 
    }); 
}); 

var a = cTemp; 
var b = x; 

var total = a + b; 

$('.difference').html(total + "C"); 
+1

parseIntまたはparseFloatはあなたの友人です。 –

+1

まず、 '$ .getJSON'呼び出しは非同期です。つまり、結果が底部が起動するまで発生しないことを意味します。つまり、' cTemp'は 'null'になります。私は 'x'変数が宣言されているか割り当てられていないので、未定義である可能性があります。 –

+0

_"しかし、それは不可能です。なぜなら、 'var cTemp'は文字列です。その推論に従わないでください。 – Xufox

答えて

0

()文字列を返します。

は、ここでは、コードです。表示するまでcTempを数字のままにしておくと、これが修正されます。

$.getJSON(api, function(data){ 
 
     var kelvin = data.main.temp; 
 
     cTemp = kelvin - 273; 
 
     $(".pueblatemp").html(cTemp.toFixed(2)); 
 
    });

$('.difference').html(total.toFixed(2) + "C");

+0

これは私に多くの感謝の意を表しました –

+0

@DiegoCervantes :) –

0

これは近いあなたが

//Temperature from Puebla 
    var cTemp; 
    var dTemp; 

var outside = $.getJSON("http://ip-api.com/json", function(data2){ 
    lat = data2.lat; 
    long = data2.lon; 
    var api='http://api.openweathermap.org/data/2.5/weather?lat=' + lat + '&lon=' + long + '&appid=cd380bb8125ea7190ceb6ca01bc0f681'; 

    $.getJSON(api, function(data){ 
     var kelvin = data.main.temp; 
     cTemp = (Number(kelvin) - Number(273)).toFixed(1); 
     $(".pueblatemp").html(cTemp); 

     var a = cTemp; 
     var b = x; //what is x??? 

     var total = Number(a) + Number(b); 

     $('.difference').html(total + "C"); 

    }); 
}); 

console.log("This will run before $.getJSON finishes!!!"); 
+0

表示されていますが、これは表示されていません20.0-19.7C –

+0

追加番号キャスト – FailedUnitTest

+0

great help thankyour –

0

使用parseIntまたはを行うために必要なものにあなたを持参してください0。

var aStringNumber = "1"; 
var anotherStringNumber = "2"; 
console.log(aStringNumber + anotherStringNumber); //"12" 
console.log(parseInt(aStringNumber) + parseInt(anotherStringNumber)); //3 
関連する問題