You need to use the doubleValue() method to get the double value from a BigDecimal object.

BigDecimal bd; // the value you get/receive from your source

// In case there is a chance that the incoming BigDecimal value is  null,
// please add an appropriate null check before you invoke the doubleValue() method on that object.
double d = bd.doubleValue(); // The "double" you want
Answer from Rahul on Stack Overflow
🌐
GeeksforGeeks
geeksforgeeks.org › java › bigdecimal-doublevalue-method-in-java
BigDecimal doubleValue() Method in Java - GeeksforGeeks
December 4, 2018 - Examples: Input : 11234 Output : 11234.0 Input : 2679.30000 Output : 2679.3 Below programs illustrates the use of byteValueExact() Function: Program 1: ... // Java program to demonstrate doubleValue() method import java.io.*; import java.math.*; ...
Discussions

java - Converting BigDecimal to double value - Stack Overflow
This can be done with e.g. DecimalFormat or String.format() or similar. That does not change the doubles, only the way they are presented in a string. ... Save this answer. ... Show activity on this post. For your problem, you want to convert the value to the BigDecimal with exponential, you ... More on stackoverflow.com
🌐 stackoverflow.com
September 20, 2018
java - Convert double to BigDecimal and set BigDecimal Precision - Stack Overflow
In Java, I want to take a double value and convert it to a BigDecimal and print out its String value to a certain precision. import java.math.BigDecimal; public class Main { public static void More on stackoverflow.com
🌐 stackoverflow.com
calculating the a bigdecimal to the power of double
I have a bigdecimal and a double value,say Bigdecimal bd = 599999.45; double d= 5.9; i want to do 599999.45^5.9 Note:I dont want to convert bigdecimal to double thanks in advance. More on thecodingforums.com
🌐 thecodingforums.com
14
April 19, 2006
Double vs BigDecimal in financial programming

Use long or big decimal. Performance problems will most probably arise elsewhere before you factor a big decimal as the culprit

More on reddit.com
🌐 r/java
105
44
May 22, 2018
🌐
Blogger
javahungry.blogspot.com › 2022 › 03 › bigdecimal-to-double.html
Java Convert BigDecimal to Double | Java Hungry
import java.math.BigDecimal; public class BigDecimalToDouble { public static void main(String args[]) { // Creating BigDecimal object using Constructor BigDecimal bd = new BigDecimal("3456.78912"); // Converting BigDecimal to Double using doubleValue() Double doubleObj = bd.doubleValue(); // ...
🌐
Tutorialspoint
tutorialspoint.com › java › math › bigdecimal_doublevalue.htm
Java.math.BigDecimal.doubleValue() Method
The java.math.BigDecimal.doubleValue() converts this BigDecimal to a double. If this BigDecimal has too great a magnitude represent as a double, it will be converted to Double.NEGATIVE_INFINITY or Double.POSITIVE_INFINITY as appropriate.
🌐
Coderanch
coderanch.com › t › 560274 › java › convert-BigDecimal-Double
HOw to convert BigDecimal to Double? (Java in General forum at Coderanch)
November 30, 2011 - Rob Spoor wrote:This will still create a new Double object though, as Double and Float objects are not cached like some instances of the other wrapper classes. But the API says like · be used in preference to the constructor Double(double), as this method is likely to yield significantly better space and time performance by caching frequently requested values.
🌐
Codemia
codemia.io › home › knowledge hub › how to convert bigdecimal to double in java?
How to convert BigDecimal to Double in Java? | Codemia
July 31, 2025 - A useful engineering rule is to keep values as BigDecimal for as long as exact decimal behavior matters, then convert to double only at the system boundary that requires it.
🌐
Stack Overflow
stackoverflow.com › questions › 52417164 › converting-bigdecimal-to-double-value › 52429728
java - Converting BigDecimal to double value - Stack Overflow
September 20, 2018 - This can be done with e.g. DecimalFormat or String.format() or similar. That does not change the doubles, only the way they are presented in a string. ... Save this answer. ... Show activity on this post. For your problem, you want to convert the value to the BigDecimal with exponential, you can use the DecimalFormat.
🌐
Baeldung
baeldung.com › home › java › java numbers › java double vs. bigdecimal
Java Double vs. BigDecimal | Baeldung
January 8, 2024 - The BigDecimal class provides constructors that accept a double value as a parameter. However, the conversion doesn’t eliminate the precision limitations of a Double. Conversely, converting from BigDecimal to Double can result in data loss and rounding errors when fitting into Double’s constrained scope.
Find elsewhere
🌐
javathinking
javathinking.com › blog › how-to-convert-bigdecimal-to-double-in-java
How to Convert BigDecimal to Double in Java: Step-by-Step Guide with Examples — javathinking.com
However, this conversion comes with risks, primarily **precision loss**, since `double` cannot represent all `BigDecimal` values exactly. This guide will walk you through the step-by-step process of converting `BigDecimal` to `double` in Java, explain potential pitfalls, and provide practical ...
🌐
Microsoft Learn
learn.microsoft.com › en-us › dotnet › api › java.math.bigdecimal.doublevalue
BigDecimal.DoubleValue Method (Java.Math) | Microsoft Learn
[<Android.Runtime.Register("doubleValue", "()D", "GetDoubleValueHandler")>] override this.DoubleValue : unit -> double ... Converts this BigDecimal to a double.
🌐
JA-VA Code
java-performance.info › home › bigdecimal vs. double in financial calculations
BigDecimal vs. Double: Precision for Financial Accuracy
October 9, 2023 - Exact Representation: BigDecimal can represent exact decimal values, which is essential for financial regulations and compliance. Example: Real-time simulations and graphical rendering, where speed is more critical than precision. Example: Complex scientific simulations where absolute precision is less critical than computational speed. Efficiency: Double offers faster performance compared to BigDecimal due to hardware support for floating-point operations;
🌐
Medium
serdaralkancode.medium.com › why-use-bigdecimal-instead-of-double-java-179e51cd1cbc
Why use BigDecimal instead of Double? (Java) | by Serdar ALKAN | Medium
October 1, 2024 - Double r1 : 0.020000000000000004 BigDecimal b3 : 0.02 Double r2 : 0.009999999999999998 BigDecimal b6 : 0.01 Double r3 : 0.09999999999999998 BigDecimal b9 : 0.1
🌐
GeeksforGeeks
geeksforgeeks.org › java › bigdecimal-class-java
BigDecimal Class in Java - GeeksforGeeks
March 8, 2024 - BigDecimal divideToIntegralValue​(BigDecimal divisor, MathContext mc): This method returns a BigDecimal whose value is the integer part of (this / divisor). double doubleValue​(): This method converts this BigDecimal to a double.
🌐
Medium
medium.com › @qingedaig › java-bigdecimal-vs-double-vs-float-012c7149e550
Java BigDecimal vs double vs float | by Alice Dai | Medium
October 15, 2024 - Choosing the right data type depends on your specific needs regarding precision, performance, and the nature of the calculations you are performing. For most financial applications, BigDecimal is recommended, while double is commonly used for scientific computations.
🌐
Qlik Community
community.qlik.com › t5 › Talend-Studio › When-i-try-to-convert-from-bigdecimal-to-double-it-gets › td-p › 2204805
When i try to convert from bigdecimal to double , it gets converted to exponential automatically. how to avoid it.
September 25, 2019 - Im trying to convert this bigdecimal "456456456456456" to double using this expression in tmap row1.amount!=null?row1.amount.doubleValue():0 . I get 4.56456456456456E14 as the result . what should i do convert as it is to 456456456456456 .
🌐
The Coding Forums
thecodingforums.com › archive › archive › java
calculating the a bigdecimal to the power of double | Java | Coding Forums
April 19, 2006 - If you want more accuracy than provided by double, I guess you could use a series expansion. Tom Hawtin ... I don't think you can xor floating points just integers. ... I have a bigdecimal and a double value,say Bigdecimal bd = 599999.45; double d= 5.9; i want to do 599999.45^5.9 Note:I dont want to convert bigdecimal to double
🌐
Reddit
reddit.com › r/java › double vs bigdecimal in financial programming
r/java on Reddit: Double vs BigDecimal in financial programming
May 22, 2018 -

Everyone says that BigDecimal should be used when dealing with money but it’s much slower and takes more memory than double. I would think this would be especially important in high frequency low-latency applications like trading. Do people actually use BigDecimal in such systems or do they use doubles with some kind of workaround to handle the precision issue?

Edit: I do have experience working on trading and risk systems and I see doubles used much more often than BigDecimal so I was curious to see if this is more common in actual practice. Most of the systems I worked on only need precision to the penny so I wonder if that’s the reason?

Also, BigDecimal is a pain to use and code written with it look much uglier than plain doubles.