如何投射Long
至BigDecimal
?cast Long to BigDecimal
回答
您必須創建一個新的BigDecimal
。
BigDecimal d = new BigDecimal(long);
謝謝,這很簡單,非常有幫助。 – Ali 2012-12-05 06:02:44
你不能施放它。但您可以創建一個新的BigDecimal
。如果您有非原始長度,您可以使用Long.getLongValue()
從Long
獲得long
。
BigDecimal bigD = new BigDecimal(longVal);
織補,太慢了。 – jjnguy 2009-05-28 15:52:08
你必須創建一個新的BigDecimal
你需要創建一個新的BigDecimal對象
Long test = new Long (10);
BigDecimal bigD = new BigDecimal(test.longValue());
爲了完整起見,你可以使用:
// valueOf will return cached instances for values zero through to ten
BigDecimal d = BigDecimal.valueOf(yourLong);
0 - 10是java 6的實現,不知道以前的JDK的
根據JavaDocs,valueOf是首選:「此」靜態工廠方法「優先於(長)構造函數提供,因爲它允許重複使用經常使用的BigDecimal值。' – 2009-05-29 03:14:45
你不應該使用BigDecimal d = new BigDecimal(long); !
BigDecimal中多處理器的實現並不精確。 對於金融應用來說這至關重要!
但是String參數的實現更好! 所以使用類似:
new BigDecimal(yourLong.toString());
有上http://www.parleys.com/好好談一談。
我意識到這有點晚,但是你有沒有更直接的聯繫來源,因爲在JDK7中查看BigDecimal的來源似乎充其量是過時的。 – 2013-08-05 19:40:24
- 1. cast bigint long
- 2. String to BigDecimal
- 3. unsigned long long to binary
- 4. unsigned long long to double
- 5. String [] to BigDecimal []
- 6. Cast char to short
- 7. cast Timespan.Ticks to varchar
- 8. Cast String to TextView
- 9. Cast Type to Generic
- 10. Cast string to enum
- 11. Cast To Interface
- 12. Cast void * to char *
- 13. Java持久性標準; Cast Expression <Timestamp> to Expression <Long>?
- 14. const char * to int cast?
- 15. Is cast castable to class
- 16. cast float to wchar_t win32
- 17. Generic Cast xAttribute to bool
- 18. Cast void * to std :: map
- 19. long varchar to string
- 20. Convert double [] to long []
- 21. Lat Long to Address
- 22. Java long to binary
- 23. Java long to Mysql
- 24. Java Float to Long Typecast
- 25. GIS to long and lat
- 26. unix convert long to wide
- 27. Pig BigDecimal to Hive十進制
- 28. Linq to SQL Cast異常
- 29. Cast String to List <NameValuePair>
- 30. C++ Cast float * to glm :: vec3
你不能投一個到另一個。它們不是普通超類的子類。 – 2009-05-28 15:53:11