All
篩選條件:
我該如何將現金存入我的帳戶當中?
我需要帳戶驗證方面的幫助
為甚麼我無法訪問我的帳戶?
提取加密貨幣會產生任何費用嗎?
我需要協助登錄我的帳戶
內部 API 計算會根據相關貨幣的精確度,使用所需的小數位數進行,但顯示值有時會被四捨五入/截斷,以達到可用值或用於格式化目的。
例如,Bitcoin (BTC) 計算最多使用 10 個小數位(BTC 的最大可用精確度為 8 位),但有時只顯示 5 個小數位。同樣地,美元 (USD) 計算最多使用 4 個小數位(USD 的最大可用精確度當然是 2 位),但通常只顯示 2 個小數位。
REST API 資產端點可用於確定個別貨幣的最大小數位精確度:
$ ./krakenapi Assets asset=xbt,usd
{"error":[],"result":{"XXBT":{"aclass":"currency","altname":"XBT","decimals":10,"display_decimals":5},"ZUSD":{"aclass":"currency","altname":"USD","decimals":4,"display_decimals":2}}}
如所示,資產端點透過 decimals 欄位提供計算小數位精確度,並透過 display_decimals 欄位提供顯示小數位精確度。
將本地值與 API 值匹配
從本地計算得出的值(例如根據交易價格和數量計算餘額變動)通常具有比所需更多的小數位,需要進行四捨五入/截斷以匹配 API 提供的值。
例如,以 0.00002901 美元購買 50,123 SHIB 的 SHIB/USD 訂單,交易價值為 1.45406823 美元(50,123 x 0.00002901 = 1.45406823),但 REST API 帳本端點顯示美元餘額減少了精確度較低的值 1.4541 美元:
"L2A7BN-OLRUR-DGZH7F":{"refid":"T5JORM-HM432-GQ3RGY","time":1639991413.4671,"type":"trade","subtype":"","aclass":"currency","asset":"ZUSD","amount":"-1.4541","fee":"0.0000","balance":"124.7277"}
解決此類小數位精確度差異的方法是將本地值四捨五入/截斷,以匹配 REST API 資產端點提供的小數位精確度。
繼續 SHIB/USD 的例子,資產端點顯示美元計算精確度為 4(請參閱上文),因此本地計算值 1.45406823 美元也應四捨五入/截斷至 4 位小數精確度:
50,123 x 0.00002901 = 1.45406823 四捨五入至 4 位小數 = 1.4541
如所示,透過四捨五入/截斷至適當的小數位精確度,最終值 1.4541 美元與帳本端點提供的值完全一致,從而成功將本地值與 API 值匹配。