2015-11-06 62 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