How to convert Satoshi to BTC in Java?

0

I get the value of money in Satoshi and I would like to have it in BTC. I develop the app in Java/Maven/JSP and use BitcoinJ for the framework. I use the code,

    public Coin getBalance() {

        int fac = (int) Math.pow(10, 8);
        return balance.div(fac);
    }

In the JSP, I use,

<%
    DecimalFormat decimalFormat = new DecimalFormat("#0.00");
%>
<div class="fild_value">
                    <%= decimalFormat.format(model.getBalance().getValue()) %>&nbsp; BTC
</div>

In this way, I miss the value after the decimal. For example, I get 1.00 BTC when I suppose to get 1.68 BTC. How to convert Satoshi to BTC in Java properly?

Arefe

Posted 2017-05-31T09:30:17.553

Reputation: 203

1value times 100million ?RaisingAgent 2017-05-31T09:44:24.030

The balance provides the value in satoshi and the mentioned code in the getBalance method converts it to the BTC. [1 BTC = 10^8 Satoshi]. Now, after converting in the fashion, I was not getting the value after the decimal. How to get the value properly?Arefe 2017-05-31T09:50:08.367

1Note: int/int = int, so 4/3 =1. I am not aware of the specifics of your problem, but the solution must to convert either the balance in satoshi or fac(10^8) to float and use it for division.sanket1729 2017-05-31T11:50:22.317

Tried the way suggested and doesn't work for me.Arefe 2017-06-01T04:17:12.223

Answers

1

The Coin.valueOf(long) static constructor takes Satoshis as an input. You can use one of the toString/toFriendlyString/toPlainString methods to derive a human readable value string.

Andreas Schildbach

Posted 2017-05-31T09:30:17.553

Reputation: 499