繁体   English   中英

原始int值转换?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM