無論如何將double
的值轉換爲BigInteger
?有無論如何將Double轉換爲BigInteger?
double doubleValue = 64654679846513164.2;
BigInteger bigInteger = (BigInteger) doubleValue;
我嘗試投它,但它沒有奏效。
無論如何將double
的值轉換爲BigInteger
?有無論如何將Double轉換爲BigInteger?
double doubleValue = 64654679846513164.2;
BigInteger bigInteger = (BigInteger) doubleValue;
我嘗試投它,但它沒有奏效。
BigInteger用於保存任意精度整數,而不是小數。您可以使用BigDecimal
類來保持雙倍。
BigDecimal k = BigDecimal.valueOf(doublevalue);
通常,您不能將一個Java原始類型轉換爲另一個類。我知道的例外情況是擴展了Number
的類,例如Long
和Integer
包裝類,它們允許您將整型值轉換爲整型,等等。
如果你解釋爲什麼類型轉換不起作用,這對OP有幫助。 –
@LuiggiMendoza我加了一個關於演員的想法,但不知道它是否會回答OP的問題,因爲他似乎對更一般的東西感到困惑。只是我的觀點。 – Kon
喲不能將Double轉換爲BigInteger,因爲這兩個類是從Number類延伸的對等類。你可能會被轉換爲數字,然後可以進一步轉換。
您可以將雙轉換成BigDecimal
和然後成BigInteger
:
BigInteger k = BigDecimal.valueOf(doublevalue).toBigInteger();
如果你實際上只想把double的整數部分存儲在BigInteger中,這肯定是最好的答案? –
我猜你不明白一個整數和一個(浮點)之間的差值的兩倍。 –
或轉換和鑄造之間。 – EJP
也許他想要一個包含64654679846513164的BigInteger –