例如,我如何从 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.MessageFormatorSystem.out.format()或其他类似的解决方案来打印它。
如果需要0000123,则需要将变量威胁为字符串而不是整数。简单地说:123等于000123and0123和0000...1 billion zeros here...000123。
但是,如果您只想显示一个固定长度的数字,请使用System.out.format().