需要帮助parseInt

时间:2010-03-13 12:58:08

标签: java integer substring parseint

我如何从String code ='A082'获得整数codeInt = 082 我试过这个:

int codeInt = Integer.parseInt(code.substring(1,4));

我得到codeInt = 82,它留下第一个0,但我想要完整的代码'082'。

我想到parseInt(String s, int radix),但我不知道如何。

任何帮助将不胜感激 感谢。

4 个答案:

答案 0 :(得分:2)

整数只存储一个数字。数字82和082(以及0082和000000082)完全相同(除非您以某种方式将它们放入某些语言的源代码中,否则您将收到编译器错误) 1

如果您迫切需要前导零,那么您应该将其保留为字符串,或者将数字格式化以便稍后输出。


1 由于C设计师巧妙地认为用前面的零写八进制常量会很酷。好像0o123之类的内容在您已经0xf00 ...

之后难以实施

答案 1 :(得分:1)

82082以及0082在数学上是相同的数字,并由相同的位序列表示。您无法对int中的前导零数进行编码(尽管您可以使用您选择的任何格式打印它)。

另请注意, number 082 Java literal 082不同,后者是(无效的)八进制文字。

int i = 010;
System.out.println(i); // this prints 8

答案 2 :(得分:1)

082不是整数。它是一个表示整数82的字符串。如果您需要保持前导零不变,则需要使用字符串。如果您只需要打印082,则可以使用java.text.MessageFormatSystem.out.format()或其他类似解决方案以此方式打印。

答案 3 :(得分:0)

如果你想要0000123,那么你需要将变量威胁为String而不是整数。简单来说:123等于0001230123以及0000...1 billion zeros here...000123

但如果您只想显示固定长度的数字,请使用System.out.format()