Question: When you have a big double: 1000000000D the result gets compressed into 1.0E8, **how to make it print out 1000000000 and not 1.0E8.**

Note: happens with 10000000000.10 too.

To solve, simply use **BigDecimal** or DecimalFormat, using DecimalFormat you can no longer edit the amount because it's now a string, but using BigDecimal is going to slow down you program.

Answer: 
Example of using [BigDecimal](http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html)

```
    BigDecimal bd = new BigDecimal(1000000000d, new MathContext(0));
    System.out.println(bd);

```

or [DecimalFormat](http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html)

```
    DecimalFormat df = new DecimalFormat("#");
    System.out.println(df.format(10000000000000000000.0));

```
Depends on how you're printing it but the general answer is going to be, use the [DecimalFormat](https://docs.oracle.com/javase/8/docs/api/java/text/DecimalFormat.html).

That said, if you're using numbers of this magnitude, you may have a precision problem, and probably want to use BigDecimal.