如何將比Long型別更大數值字串轉化為整數
阿新 • • 發佈:2019-02-03
前幾天,需要做一個number型別的資料庫主鍵唯一處理,而且有38位。於是再想使用什麼規則控制唯一性。最後決定採用時間,年月日時分秒毫秒,再加隨機數。
問題產生了,如何將一個38位的數字字串轉化為整數型別,存入資料庫?預設的Long型別,最大值也只有19位。怎麼辦?
解決方案如下:
採用BigInteger型別
執行結果package 數字字串; import java.math.BigInteger; public class Test { public static void main(String[] args) { //Long型別最大隻有19位 Long maxL = Long.MAX_VALUE; String max2 = "12345678901234567890123456789012345678"; System.out.println(max2); System.out.println(maxL); // System.out.println(Long.parseLong(max2));//拋異常 BigInteger maxInt = new BigInteger(max2); System.out.println(maxInt); } }