原始int值转换?

时间:2015-05-01 06:29:25

标签: java

public class Test3 {

    public static void main(String[] args) {
        int i = 010;
        System.out.println(i); // prints 8          
    }

}

怎么打印8?怎么转换?调试程序没有帮助。

3 个答案:

答案 0 :(得分:3)

010被解析为八进制数(任何以0开头的数字文字)。其十进制值为8. System.out.println打印十进制值。

答案 1 :(得分:3)

  

任意数量的数字,可选地以符号(+或 - )开头。默认采用十进制数字(0-9),但0前缀引入八进制数字(0-7),> 0x十六进制数字(0-f)。

由于你以10为前缀加上0然后它被读作八进制而不是十进制。

在Java中将八进制转换为十进制:

String octal = "010";
int decimal = Integer.parseInt(octal, 10);

System.out.println(decimal);

输出:

10

答案 2 :(得分:0)

这是八进制到十进制转换。有关详细信息:http://www.buzzle.com/articles/octal-to-decimal-how-to-convert.html