Provide Best Programming Tutorials

## Java – How to display double in 2 decimal places

Three ways to do this:

• Decimal Format
• String.format
• BigDecimal

## Decimal Format

```import java.math.RoundingMode;
import java.text.DecimalFormat;

public class DecimalFormatDemo {
private static DecimalFormat df = new DecimalFormat("#.###");

public static void main(String[] args) {

double input = 1.23456789;
System.out.println(df.format(input));

df.setRoundingMode(RoundingMode.DOWN);
System.out.println(df.format(input));

df.setRoundingMode(RoundingMode.UP);
System.out.println(df.format(input));
}
}```

```1.235
1.234
1.235```

## String.format

``` double input = 1.23456789;
System.out.println("double : " + String.format("%.2f", input));
System.out.format("double : %.2f", input);```

### Output

```double : 1.23
double : 1.23```

## BigDecimal

```double input = 1.23456789;
System.out.println("double : " + input);

BigDecimal bd = new BigDecimal(input).setScale(2,RoundingMode.HALF_UP);
double newInput = bd.doubleValue();

System.out.println("double : " + newInput);```

### Output

```double : 1.23456789
double : 1.23```