【问题标题】:JavaScript integer coming back as a string [duplicate]JavaScript整数作为字符串返回[重复]
【发布时间】:2020-12-17 12:22:39
【问题描述】:

我正在使用 binance api,无论何时我询问价格,价格都会以字符串形式返回。当我将其转换为整数时,我会丢失小数位。为什么?

const Binance = require('node-binance-api');
const binance = new Binance().options({
  APIKEY: 'Yourkey',
  APISECRET: 'YourSecret'
});
//binance.futuresMarkPriceStream( 'BTCUSDT', console.log );
let arr = []
binance.websockets.trades(['BTCUSDT'], (trades) => {
    let {e:eventType, E:eventTime, s:symbol, p:price, q:quantity, m:maker, a:tradeId} = trades;
    //console.info(symbol+" trade update. price: "+price+", quantity: "+quantity+", maker: "+maker);
    console.log(price)
    console.log(typeof(price))
     a3 = parseInt(price, 10)
     console.log(typeof(a3))
     console.log(a3)
    if(arr[1]){
        arr[0] = arr[1]
        arr[1] = price
    }
    if(arr.length < 2){
        arr.push(a3)
    }
    if(arr[0] && arr [1] && arr[0] != arr [1]){
        card(a3)
    }
});

【问题讨论】:

  • 使用 parseFloat 代替 parseInt
  • “整数”是一个整数,因此没有小数位。考虑转换为“浮点数”,或者您可以将“整数”美元金额表示为“便士”,方法是将(和四舍五入/下限)乘以 100。
  • “当我将其转换为整数时,我会丢失小数位。为什么?” 这让我很开心 :) 谢谢
  • 来吧,自从我上大学以来已经有好几年了。但我理解我的错误。苹果是水果,但橙子不是苹果。我得到它。 :)

标签: javascript string


【解决方案1】:

因为整数没有小数。使用 parseFloat() 而不是 parseInt()

【讨论】:

  • duh.. 我应该知道的。谢谢。
猜你喜欢
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 2019-01-31
  • 2014-03-28
  • 2017-01-03
  • 2019-12-15
  • 2015-12-28
  • 2019-07-11
相关资源
最近更新 更多