//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