2014-10-17 66 views
1

任何想法爲什麼比特幣值爲0?用JQuery顯示比特幣值

我使用JSON檢索數據:

jQuery.ajax({ 
    dataType: "json", 
    url: "https://bitpay.com/api/rates", 
    success: function(data) { ... } 

這裏的小提琴:

http://jsfiddle.net/wL5jh7np/

+0

因爲'num'是0,所以'0/380.41 = 0',什麼是'num',你想做什麼 – 2014-10-17 00:56:02

回答

1

你的問題就在這裏:var tex = jQuery(this).text(); //this is empty!
然後你去關閉,這樣做var num = Number(tex.replace(/[^0-9.-]+/g,""));//now num=0 然後你這樣做......

text: ""+(num/data[member].rate).toFixed(4)+" BTC*" //0 times something ... always 0; 

所以要解決這個問題,你必須確保你閱讀的價值實際上是有意義的......

http://jsfiddle.net/wL5jh7np/7/

+0

嗨,Birgit!我試圖進一步說明這一點:http://jsfiddle.net/askhflajsf/ywx6L9zn/4/ - 但是你會碰巧知道爲什麼當你輸入2 BTC的時候美元變得不合時宜? – 2017-01-09 02:57:43

+1

http://jsfiddle.net/ezb96y58/4/-看看這一個... – 2017-01-09 15:00:48

+0

絕對驚人的,非常感謝你! – 2017-01-09 15:13:06

1

你搗鼓好。在`span.pricedisplay'中輸入一些數值,那麼你可以看到結果

將結果看作0的原因(默認)是span.pricedisplay沒有任何價值。如果我們看到了下面的計算num/data[member].rate它很清楚,NUM = 0空的文本,並將其結果將是0

 // Read original text from span.pricedisplay and this referes to that span 
     var tex = jQuery(this).text(); 

     // Convert text to a double 
     var num = Number(tex.replace(/[^0-9.-]+/g,"")); 

     // Create a new div with the class BTC_Price and append it after the original price 
     var n = jQuery('<div/>', { 
      class: 'BTC_Price', 
      text: ""+(num/data[member].rate).toFixed(4)+" BTC*" 
     }).insertAfter(jQuery(this));