例如,我如何从 String code='A082' 获得整数 codeInt=082 我试过这个:
int codeInt = Integer.parseInt(code.substring(1,4));
我得到 codeInt=82 ,它留下了第一个 0 但我想要完整的代码'082'。
我想过,parseInt(String s, int radix)
但我不知道怎么做。
任何帮助将不胜感激 。
谢谢。
整数只存储一个数字。数字 82 和 082(以及 0082 和 000000082 就此而言)完全相同(除非您以这种方式将它们放入某些语言的源代码中,否则您会得到编译器错误)1。
如果您迫切需要前导零,那么您应该将其保留为字符串,或者适当地格式化数字以便稍后输出。
1由于 C 设计者有一个巧妙的想法,即用前面的零编写八进制常数会很酷。好像0o123
一旦你已经获得了类似的东西就很难实现0xf00
......
数字 82
和082
和在0082
数学上是相同的数字,并且由相同的位序列表示。您不能在 an 中编码前导零的数量int
(尽管您当然可以使用您选择的任何格式打印它)。
另请注意,该数字 082
与Java 文字 082
不同,后者是(无效的)八进制文字。
int i = 010;
System.out.println(i); // this prints 8
082 不是整数。它是一个表示整数 82 的字符串。如果您需要保持前导零不变,则需要使用字符串。如果您只需要它来打印 082,您可以使用java.text.MessageFormat
orSystem.out.format()
或其他类似的解决方案来打印它。
如果需要0000123
,则需要将变量威胁为字符串而不是整数。简单地说:123
等于000123
and0123
和0000...1 billion zeros here...000123
。
但是,如果您只想显示一个固定长度的数字,请使用System.out.format()
.