//Division example
Double a = 2.85d / 10000;
System.out.println("1) " + a.doubleValue());
//Multiplication example
a = 2.85d * 100000000;
System.out.println("2) " + a.doubleValue());
Code language: Java (java) Result: 1) 2.85E-4 2) 2.85E8Thus you can see the result is printed in exponential format. Now you may want to display the result in pure decimal format like: 0.000285 or 285000000. You can do this simply by using class
java.math.BigDecimal. In following example we are using BigDecimal.valueOf() to convert the Double value to BigDecimal and than .toPlainString() to convert it into plain decimal string. import java.math.BigDecimal;
//..
//..
//Division example
Double a = 2.85d / 10000;
System.out.println("1) " + BigDecimal.valueOf(a).toPlainString());
//Multiplication example
a = 2.85d * 100000000;
System.out.println("2) " + BigDecimal.valueOf(a).toPlainString());
Code language: Java (java) Result: 1) 0.000285 2) 285000000The only disadvantage of the above method is that it generates lonnnnggg strings of number. You may want to restrict the value and round off the number to 5 or 6 decimal point. For this you can use
java.text.DecimalFormat class. In following example we are rounding off the number to 4 decimal point and printing the output. import java.text.DecimalFormat;
//..
//..
Double a = 2.85d / 10000;
DecimalFormat formatter = new DecimalFormat("0.0000");
System.out.println(formatter .format(a));
Code language: Java (java) Result: 0.0003Happy converting :)
Java URL Encoder/Decoder Example - In this tutorial we will see how to URL encode/decode…
Show Multiple Examples in OpenAPI - OpenAPI (aka Swagger) Specifications has become a defecto standard…
Local WordPress using Docker - Running a local WordPress development environment is crucial for testing…
1. JWT Token Overview JSON Web Token (JWT) is an open standard defines a compact…
GraphQL Subscription provides a great way of building real-time API. In this tutorial we will…
1. Overview Spring Boot Webflux DynamoDB Integration tests - In this tutorial we will see…
View Comments
Thanks...it helped me
Thanks dude.. it helped me too..
I dont want the result to be string, i need it as a number. How do i get this?
If i convert this string to number it again becomes exponential. Any help on this would be appreciated.
use BigDecimal.valueOf(a) . Its of BigDecimal Type.
It still fails when the number is 0.0000003.
thanks. i had made my own formula/arithmetic expression parser which was facing problems due to an inconsistent way java presents its results in double format; mostly the numbers remained in decimal form, but too small and too large results were returned in the exponential format. just using the BigDecimal whenever an a computation returned a result straightened out the bug for me.
Thanks a lot for the solution.
Saved my time. :)
Thanks for your example. It really helped a lot. Keep posting.
hi.. nice one... but if i have a value like 5.0 its a double value, i need to store again into another double variable in the format like 5.000, how it can be possible
DecimalFormat df=new DecimalFormat("#.000")
df.parse(yournumber)
Thanks a lot
Thanks a lot
doesnt work for the number -7.728382078632706e+19
please help