public class Test3 {
public static void main(String[] args) {
int i = 010;
System.out.println(i); // prints 8
}
}
怎么打印8?怎么转换?调试程序没有帮助。
答案 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