【发布时间】: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