Java 中 進位制之間的轉換
阿新 • • 發佈:2019-01-11
- 進位制轉換的主要異常
Exception in thread "main" java.lang.NumberFormatException: For input string: "G8"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.valueOf(Integer.java:556)
at RadixMain.main (RadixMain.java:13)
原因是; 數字格式異常,主要是進制中的資料超過了其基本資料,例如 二進位制中包含2,就會報該錯誤!
- 示例程式碼
public class RadixMain {
public static void main(String[] args) {
// 十進位制轉為其他進位制
System.out.println(Integer.toBinaryString(112) );//二進位制
System.out.println(Integer.toHexString(112) );//十六進位制
System.out .println(Integer.toOctalString(112));//8進位制
// 其他進位制轉換為十進位制
System.out.println(Integer.valueOf("111001", 2));//二進位制轉十進位制
System.out.println(Integer.valueOf("27", 8));//八進位制轉十進位制
System.out.println(Integer.valueOf("A8", 16));//16進位制轉十進位制
}
}