Blockchain
BTC 顯示的金額是賬戶中收到的金額的 10^8 倍
我與
Java/Maven/JSP
應用程序一起工作BitcoinJ
,我從測試網水龍頭轉移了大約 0.0048 BTC。但是,收到後,我看到我的帳戶餘額為480000.00 BTC
.這是我用來獲取 Satoshi 的方法
Coin
。public Coin getBalance() { return balance; }
我檢查了程式碼,至少我的後端部分對我來說看起來很正常。如何解決這個問題?
顯然,該應用程序將金額顯示為 Satoshi(最小單位)而不是 BTC。對於內部計算,這是可以的,因為它避免了舍入錯誤,但對於輸入和輸出,您應該按適當的因子進行縮放(BTC 為 10^8,mBTC 為 10^5)。
是的,在 bitcoinj 中,實際上有兩個類用於為人類格式化 Coin 值:MonetaryFormat 和 BtcFormat。我強烈建議使用兩者之一。
這是一個例子:
Wallet wallet = <initialize wallet here> String friendlyFormat = BtcFormat.getInstance().format(wallet.getBalance());