2012-07-27 85 views
2

我目前正在處理不同基數的數字。我使用函數Long.parseLong將基數int中的數字轉換爲其十進制值:需要.parse功能的替代

Long.parseLong(「A」,16)將十六進制A轉換爲十進制值10.然後,使用Long.toString(10,16)將其轉換回A.

現在的問題是,問題集中的條目之一是「AAAAAAAAAAAAAAAAAAA」,當我使用Long.parseLong();函數,它會返回一個錯誤,因爲轉換的大小不適合Long。我試圖使用Float,但是我擔心沒有以int爲基數的Float.parseFloat(String,int)。

有沒有其他方法可以使用? BigInteger也沒有基數的解析函數。

任何幫助將不勝感激。

回答

6

BigIntegera constructor,這確實基數轉換爲你:

BigInteger num = new BigInteger("AAAAAAAAAAAAAAAAAAA", 16); 

如果你想回到十六進制數轉換,可以使用toString

String hex = num.toString(16); 
+0

非常感謝您!這確實非常有幫助!我以爲我能夠完全理解BigIntegers。祝你有個美好的一天! – NewbieLearner 2012-07-27 11:29:17

+0

@JonaziAlmocera既然這是一個非常好的答案,你應該考慮**接受**。 – Baz 2012-08-22 09:12:54