0

我有一个char以零开头的数组,但是当我尝试将其转换为一个int值时,它会删除零,所以我也想保留零。

像这样的数组 char 包含 00001234 并且 int 必须是这样的00001234,但是当我使用parseInt它时,它只剩下 1234。

4

7 回答 7

5

Anint包含一个纯数值;没有像前导零,千位分隔符等表示的概念。任何类似的东西都被认为是格式- 它仅在您需要以int某种方式显示或将其转换为文本时才相关。像这样的设施NumberFormatSystem.out.printf()让您可以控制应用的格式,所以这就是您必须使用的。

于 2012-07-27T20:48:01.833 回答
3

如果要在打印时保留前导零,则可能需要使用 Java NumberFormat 。

于 2012-07-27T20:45:36.097 回答
2

您不能在 int 或任何数字类型中捕获前导零。前导零与数字的内部表示无关,仅在您打印数字时才有用。

当您输出数字时,请int使用 aNumberFormatString带有System.out.format/的格式,而不是打印一个System.out.printf

如果您必须保留输入的数字,或者在您char[]的 中保留相同数量的前导零,则需要将其保留为 a char[],同时使用来自 eg 的数字等价物进行数字计算parseInt

于 2012-07-27T20:47:19.530 回答
1

int 不知道数字的格式,您必须在显示数字的任何地方添加填充

于 2012-07-27T20:45:32.697 回答
1

您不能将格式存储在简单的 int 中。您只需存储实际的 int 数字,然后在显示它时使用 NumberFormat 之类的东西来根据需要填充它。

于 2012-07-27T20:47:08.007 回答
0

000001234 和 1234 与整数相同。您正在寻找的是正确格式化(显示数字)整数并将其转换为字符串的方法。

于 2012-07-27T20:47:04.357 回答
0

看看是否有助于它对如何打印带前导零的数字有一些建议,如果你能告诉这些数字的用法,可以提供更相关的答案......

于 2012-07-27T20:49:00.927 回答