## \$show=/label

A quick guide to convert string to double form and display double value with 2 decimal points or 2 decimal places in java.

## 1. Overview

In this tutorial, We'll learn how to convert the String into double and display double with 2 decimal points or 2 decimal places in java programming.

In the previous article, we have already discussed about how to convert String to Double value in 3 ways.

Getting the double with 2 decimal points can be done in many ways. we'll learn all the possible ways with example programs.

## 2. Double With 2 Decimal Points Using DecimalFormat Class

First, convert the string into double using Double.parseDouble() method.
Next, create the instance of DecimalFormat class as new DecimalFormat("0.00") and then call the format() method which returns the double value in string with 2 decimal places.

Below is the example program.
```package com.javaprogramto.programs.strings.todouble.decimal;

import java.text.DecimalFormat;

public class StringToDoubleDecimalsPlaces1 {

public static void main(String[] args) {

String decimalValueInString = "9.144678376262";

// convert string to double

double doubleDecimalValue = Double.parseDouble(decimalValueInString);

System.out.println("Double in string : "+decimalValueInString);
System.out.println("Double value : "+doubleDecimalValue);

// decimalformat class
DecimalFormat decimalFormat = new DecimalFormat("0.00");

System.out.println("Double with decimal places "+decimalFormat.format(doubleDecimalValue));
}
}

```
Output:
```Double in string : 9.144678376262
Double value : 9.144678376262
Double with decimal places 9.14
```

And also this DecimalFormat class provides the additional functionality to rounding up and down the decimal values using setRoundingMode() method as follows.
```decimalFormat.setRoundingMode(RoundingMode.UP);
System.out.println("Double with decimal places with rounding up :  "+decimalFormat.format(doubleDecimalValue));

decimalFormat.setRoundingMode(RoundingMode.DOWN);
System.out.println("Double with decimal places with rounding down :  "+decimalFormat.format(doubleDecimalValue));
```
Output:
```Double with decimal places with rounding up :  9.15
Double with decimal places with rounding down :  9.14
```

## 3. Double With 2 Decimal Points Using String.format()

Next approach is using String.format() method which is simple and does not provide rounding up options as DecimalFormat or BigDecimal classes.

let us write the example program on format() method.
```public class StringToDoubleDecimalsPlaces2 {

public static void main(String[] args) {

String decimalValueInString = "9.144678376262";

// convert string to double

double doubleDecimalValue = Double.parseDouble(decimalValueInString);

System.out.println("Double in string : "+decimalValueInString);
System.out.println("Double value : "+doubleDecimalValue);

String strDoubleDecimals = String.format("%.2f", doubleDecimalValue);

System.out.println("Double with 2 decimal values : "+strDoubleDecimals);

}
}
```

Output:
```Double in string : 9.144678376262
Double value : 9.144678376262
Double with 2 decimal values : 9.14

```

## 4. Double With 2 Decimal Points Using BigDecimal class

Last way is using BigDecimal class. You need to pass the double number to the BigDecimal constructor and then call setScale() method with a number which is how many decimal points are needed and with the rounding mode.

And also setScale() method can take rounding mode also.

Look at the below example to get the more details about the BigDecimal for decimal places.
```package com.javaprogramto.programs.strings.todouble.decimal;

import java.math.BigDecimal;

public class StringToDoubleDecimalsPlaces3 {

public static void main(String[] args) {

String decimalValueInString = "9.144678376262";

// convert string to double

double doubleDecimalValue = Double.parseDouble(decimalValueInString);

System.out.println("Double in string : "+decimalValueInString);
System.out.println("Double value : "+doubleDecimalValue);

// BigDecimal
BigDecimal bigDecimal = new BigDecimal(doubleDecimalValue);
bigDecimal.setScale(2);
System.out.println(""+bigDecimal.doubleValue());

}
}
```

Output:
```Double in string : 9.144678376262
Double value : 9.144678376262
Exception in thread "main" java.lang.ArithmeticException: Rounding necessary
at java.base/java.math.BigDecimal.commonNeedIncrement(BigDecimal.java:4628)
at java.base/java.math.BigDecimal.needIncrement(BigDecimal.java:4835)
at java.base/java.math.BigDecimal.divideAndRound(BigDecimal.java:4810)
at java.base/java.math.BigDecimal.setScale(BigDecimal.java:2910)
at java.base/java.math.BigDecimal.setScale(BigDecimal.java:2952)
at com.javaprogramto.programs.strings.todouble.decimal.StringToDoubleDecimalsPlaces3.main(StringToDoubleDecimalsPlaces3.java:20)
```

Program execution is failed because of Rounding mode was not provided to the big decimal object. So, Rounding mode is mandatory to work with the setScale() method.

Added now RoundingMode.DOWN value to the setScale() method.
```package com.javaprogramto.programs.strings.todouble.decimal;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class StringToDoubleDecimalsPlaces3 {

public static void main(String[] args) {

String decimalValueInString = "9.144678376262";

// convert string to double

double doubleDecimalValue = Double.parseDouble(decimalValueInString);

System.out.println("Double in string : "+decimalValueInString);
System.out.println("Double value : "+doubleDecimalValue);

// BigDecimal
BigDecimal bigDecimal = new BigDecimal(doubleDecimalValue).setScale(2, RoundingMode.DOWN);
//bigDecimal.setScale(0, RoundingMode.HALF_UP);
System.out.println("Two decimals : "+bigDecimal.doubleValue());

}
}

```
Output:
```Double in string : 9.144678376262
Double value : 9.144678376262
Two decimals : 9.14
```

## 5. Double With 2 Decimal Points Using Formatter, NumberFormat, printf()

There are many other ways alos. Few of them are shown in the below example.

```package com.javaprogramto.programs.strings.todouble.decimal;

import java.text.NumberFormat;
import java.util.Formatter;

public class StringToDoubleDecimalsPlaces4 {

public static void main(String[] args) {

double doubleDecimalValue = 9.144678376262;

System.out.println("Double value : " + doubleDecimalValue);

// 1. NumberFormat
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);

System.out.println("Number format : " + nf.format(doubleDecimalValue));

// 2. Formatter
Formatter formatter = new Formatter();
formatter.format("%.2f", doubleDecimalValue);

System.out.println("Formatter : " + formatter.toString());

// 3. Printf
System.out.printf("printf : Double upto 2 decimal places: %.2f", doubleDecimalValue);

}
}

```
Output:
```Double value : 9.144678376262
Number format : 9.14
Formatter : 9.14
printf : Double upto 2 decimal places: 9.14
```

## 6. Conclusion

In this article, we've seen how to display and format the double value to double 2 decimal places using many methods.

And also we can use the apache commons math api method Precision.round(2, doubleValue).

BLOGGER

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Java Format Double - Double With 2 Decimal Points Examples
Java Format Double - Double With 2 Decimal Points Examples
A quick guide to convert string to double form and display double value with 2 decimal points or 2 decimal places in java.