2015-11-06 54 views
-1

Javascript新手在這裏...在HTML頁面中使用JSON數據(來自API)進行數學運算?

我習慣在Bash工作,用變量做數學很簡單。我試圖用從API中檢索的數據進行數學計算,並將答案存儲爲新變量。

下面的代碼顯示了來自服務器的響應,但我想對數字進行一些計算(除以100000000,具體),然後以HTML格式顯示結果。我怎樣才能做到這一點?

<!DOCTYPE html> 
<html> 
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> 
<script> 
$.get("https://blockchain.info/q/totalbc", function(response) { 
    $("#BTCUSD").text(response); 
}, "json"); 

</script> 
<body> 
<span id="BTCUSD"></span> 
</body> 

</html> 

回答

0
$("#BTCUSD").text(response/100000000); 

東西都在jQuery的非常簡單。

0

您可以使用parseInt()來確保您使用的是一個int值,然後除以該值。

var newValue = parseInt(response)/100000000; 
$("#BTCUSD").text(newValue); 

,因爲JavaScript是弱類型,你也可以只使用:

var newValue = response/100000000; 
+0

添加try catch來增強parseInt部分上的代碼 – Marks

+0

這會如何「增強」代碼? 'parseInt'永遠不會引發異常,如果值不是數字,則返回NaN。 – ThiefMaster

0

我建議你閱讀this,如果你想了解在JavaScript中的算術運算符。

正如doublesharp說,最好的辦法是解析字符串作爲一個整數,然後再進行分割,但你也可以指定大小的這樣的順序:

var newValue = parseInt(response, 10)/1E8; 
$("#BTCUSD").text(newValue); 
+0

將基數加到'parseInt()',我的意思是:'parseInt(response,10);'是十進制整數。即使當前瀏覽器假定基數爲10,如果字符串以「0」開頭,舊的轉換器將其轉換爲基數8。比對不起更好的安全... –

-1

在JavaScript中有兩件事情幾乎一切都有。 toStringvalueOf附加在對象上的函數。在對象需要爲字符串時,將調用toString函數。當該對象再次成爲一個值時,將調用valueOf函數。

因此,JavaScript提供了functionality to the +,當放置在對象前面時,它會爲您調用valueOf函數!其中,使您的response對象只需將+放在它的前面即可算出!

警告! JavaScript並沒有真正拋出錯誤錯誤。與0/0一樣,JavaScript將返回NaN,這諷刺地是JavaScript的一個數字。因此,檢查是否有NaN只是將該吸盤放入返回布爾值的isNaN函數中最簡單的方法。

... 
<script> 

$.get("https://blockchain.info/q/totalbc", function(response) { 
    var VALUE = +response; 
    // If not NaN, get mathy! 
    if(!isNaN(VALUE)) 
    { 
     VALUE /= 100000000; 
    } 
    else 
    { 
     VALUE = "Uh oh... Cannot Math with " + response; 
    } 
    $("#BTCUSD").text(VALUE); 
}, "json"); 

</script> 
... 
+0

請註明您爲什麼投票。這樣我就不會再犯同樣的錯誤了。 – tkellehe

相關問題