And*_*oni 2 java octal long-integer
为什么会出现这种情况
long value = 123450;
System.out.println("value: " + value);
Run Code Online (Sandbox Code Playgroud)
价值:123450
long value = 0123450;
// ^
System.out.println("value: " + value);
Run Code Online (Sandbox Code Playgroud)
价值:42792
这是什么42792?
这就是java代表八进制文字的方式.看看这个:
http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
如果你想要的是在左边打印带零的东西你需要使用DecimalFormat格式方法.
http://download.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html
在这种情况下,你这样做:
long value = 123450;
DecimalFormat df = new DecimalFormat("0");
System.out.println("value: " + df.format(value));
Run Code Online (Sandbox Code Playgroud)