$show=/label

Java Format Double - Double With 2 Decimal Points Examples

SHARE:

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.
Java Format Double - Double With 2 Decimal Points Examples



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).




COMMENTS

BLOGGER

About Us

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

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,21,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,32,Collector,1,Command Line,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,135,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,7,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,127,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,113,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,29,String,61,String Programs,28,String Revese,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,24,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.
https://1.bp.blogspot.com/-a5Tn1LZhSjY/YYZcHdwdwxI/AAAAAAAADag/YWyR3G5VdKIsC6PF4aAvH02DVYzW2NV_gCLcBGAsYHQ/w400-h294/Java%2BFormat%2BDouble%2B-%2BDouble%2BWith%2B2%2BDecimal%2BPoints%2BExamples.png
https://1.bp.blogspot.com/-a5Tn1LZhSjY/YYZcHdwdwxI/AAAAAAAADag/YWyR3G5VdKIsC6PF4aAvH02DVYzW2NV_gCLcBGAsYHQ/s72-w400-c-h294/Java%2BFormat%2BDouble%2B-%2BDouble%2BWith%2B2%2BDecimal%2BPoints%2BExamples.png
JavaProgramTo.com
https://www.javaprogramto.com/2021/11/java-double-2-decimal-places.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2021/11/java-double-2-decimal-places.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content