[英]Primitive int value conversion?
public class Test3 {
public static void main(String[] args) {
int i = 010;
System.out.println(i); // prints 8
}
}
它如何打印8? 如何转换? 调试程序没有帮助。
010
被解析为八进制数字(任何以0
开头的数字文字)。 其十进制值为System.out.println
打印十进制值。
任意数量的数字,可以选择在其后加上一个符号(+或-)。 默认情况下采用十进制数字(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
这是八进制到十进制的转换。有关更多信息,请访问: http : //www.buzzle.com/articles/octal-to-decimal-how-to-convert.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.