Is there anyway to convert from double
value to BigInteger
?
double doubleValue = 64654679846513164.2;
BigInteger bigInteger = (BigInteger) doubleValue;
I try to cast it but it didn't work.
BigInteger is made for holding arbitrary precision integer numbers, not decimals. You can use the BigDecimal
class to hold a double.
BigDecimal k = BigDecimal.valueOf(doublevalue);
In general, you cannot type cast a Java primitive into another class. The exceptions that I know about are the classes extending Number
, such as the Long
and Integer
wrapper classes, which allow you to cast an int value into an Integer, and so on.
bb94
You can convert the double into a BigDecimal
and then into a BigInteger
:
BigInteger k = BigDecimal.valueOf(doublevalue).toBigInteger();
来源:https://stackoverflow.com/questions/17960186/is-there-anyway-to-convert-from-double-to-biginteger