2013-10-29 22 views
63

Jak przekonwertować BigDecimal na Double w java? Mam wymóg, w którym musimy użyć Double jako argumentu, ale otrzymujemy BigDecimal, więc muszę przekonwertować BigDecimal na Double.Jak przekonwertować BigDecimal na Double w Javie?

+6

Co powiecie na 'nowy BigDecimal (2) .doubleValue()' – Matthias

+4

Zawsze czytaj [dokumentacja] (http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html) przed zadaniem pytania. Często zdarza się, że odpowiedź na twoje pytanie. Zobacz ['doubleValue()'] (http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#doubleValue()). (Podpowiedź: aby znaleźć dokumentację dla konkretnej klasy, wystarczy wyszukać w Google nazwę klasy, a następnie java. Na przykład, aby znaleźć tę dokumentację, przeszukano "BigDecimal Java") – Justin

+1

"Mam wymóg, w którym musimy użyć Double jako argument "Uzyskaj wymóg zmieniony. Nie ma sensu używanie "BigDecimal" w ogóle, chyba że używasz go end-to-end. To wymaganie zagraża dokładności; może zagrozić zgodności z przepisami; i może stanowić zaskarżalne zaniedbanie. – EJP

Odpowiedz

133

Aby uzyskać podwójną wartość z obiektu BigDecimal, należy użyć metody doubleValue().

BigDecimal bd; // the value you get 
double d = bd.doubleValue(); // The double you want 
4

Zastosowanie doubleValue sposób obecne w BigDecimal klasy:

double doubleValue() 

przekształca BigDecimal do double.

18

Możesz przekonwertować BigDecimal na double przy użyciu .doubleValue(). Ale wierz mi, nie używaj go, jeśli masz manipulacje walutowe. Zawsze powinno to być wykonywane bezpośrednio na obiektach BigDecimal. Precyzyjna strata w tych obliczeniach to duże problemy w obliczeniach związanych z walutą.

+0

Witamy! Trzymaj się dobrej pracy i ciesz się swoim czasem tutaj na StackOverflow. ;) Pytanie to było jednak dość stare i jest mało prawdopodobne, aby odzyskać masową uwagę. – Unihedron

+2

@Unihedron - wiek questoin zdecydowanie nie jest dobrą miarą, jeśli pytanie odzyska uwagę lub nie. Google nie bierze pod uwagę daty, regularnie odwiedzam pytania, które mają kilka lat. Jak widać, odpowiedź już zawiera 15 przegranych. – Ev0oD

Powiązane problemy