Nam*_*ame 5 java string integer
我一直在尝试调查为什么Integer.parseInt()删除 0 并返回剩余的数字。例如:
@Test
public void testInteger() {
System.out.println(Integer.parseInt("01234"));
System.out.println(Integer.parseInt("12340"));
}
Run Code Online (Sandbox Code Playgroud)
第一行打印1234,第二行打印12340。为什么第一行去掉0。这根本不符合逻辑。我知道 Integer 是 int 的包装对象,int 存储 32 位。
您能解释一下原因吗?
因为您使用字符串“01234”作为整数(带有parseInt()),所以system.out.println正在打印一个整数。
“01234”作为整数将是 1234。这是因为 0 是唯一以零开头的整数。
这些都不是实数:
0456,
0234,
05555555,
01
Run Code Online (Sandbox Code Playgroud)
如果要将“01234”存储为字符串,则 0 将保留其值。
| 归档时间: |
|
| 查看次数: |
16366 次 |
| 最近记录: |