我正在使用Coinbase的websocket全频道。它说可以期望的一种类型称为接收类型。
在他们的API文档中,他们给出了一个示例:
{
"type": "received",
"time": "2014-11-09T08:19:27.028459Z",
"product_id": "BTC-USD",
"sequence": 12,
"order_id": "dddec984-77a8-460a-b958-66f114b0de9b",
"funds": "3000.234",
"side": "buy",
"order_type": "market"
}
我的问题是关于资金领域。他们提供了以下细节:
Market orders (indicated by the order_type field) may have an optional funds field which indicates how much quote currency will be used to buy or sell. For example, a funds field of 100.00 for the BTC-USD product would indicate a purchase of up to 100.00 USD worth of bitcoin.
因此,他们的示例是BTC-USD的市场买单,因此资金字段为USD。但是,该USD值如何小数点后3位?
最小的美元增量是一分钱(0.01),这是他们的示例中为其产品API调用(也在其文档中)指定的值:
{
"id": "BTC-USD",
"base_currency": "BTC",
"quote_currency": "USD",
"base_min_size": "0.001",
"base_max_size": "10000.00",
"quote_increment": "0.01"
}
但是通过查看程序的日志输出,我看到了其他奇怪的基金价值:
“ 1316.7081987750000000” “ 1767.4650256000000000” “ 523.6906608000000000”
忽略尾随的零,仍然有太多的十进制数字,第一个甚至有9个十进制数字。
我已经开了一张支持票,试图弄清楚,但一周后什么都没听到。想知道其他开发者是否对此有权威的解释?
一个想法是将其舍入到下一个便士,但这似乎不是适当的解决方案。