我有一个char
以零开头的数组,但是当我尝试将其转换为一个int
值时,它会删除零,所以我也想保留零。
像这样的数组 char 包含 00001234 并且 int 必须是这样的00001234
,但是当我使用parseInt
它时,它只剩下 1234。
我有一个char
以零开头的数组,但是当我尝试将其转换为一个int
值时,它会删除零,所以我也想保留零。
像这样的数组 char 包含 00001234 并且 int 必须是这样的00001234
,但是当我使用parseInt
它时,它只剩下 1234。
Anint
包含一个纯数值;没有像前导零,千位分隔符等表示的概念。任何类似的东西都被认为是格式- 它仅在您需要以int
某种方式显示或将其转换为文本时才相关。像这样的设施NumberFormat
或System.out.printf()
让您可以控制应用的格式,所以这就是您必须使用的。
如果要在打印时保留前导零,则可能需要使用 Java NumberFormat 。
您不能在 int 或任何数字类型中捕获前导零。前导零与数字的内部表示无关,仅在您打印数字时才有用。
当您输出数字时,请int
使用 aNumberFormat
或String
带有System.out.format
/的格式,而不是打印一个System.out.printf
。
如果您必须保留输入的数字,或者在您char[]
的 中保留相同数量的前导零,则需要将其保留为 a char[]
,同时使用来自 eg 的数字等价物进行数字计算parseInt
。
int 不知道数字的格式,您必须在显示数字的任何地方添加填充
您不能将格式存储在简单的 int 中。您只需存储实际的 int 数字,然后在显示它时使用 NumberFormat 之类的东西来根据需要填充它。
000001234 和 1234 与整数相同。您正在寻找的是正确格式化(显示数字)整数并将其转换为字符串的方法。
看看这是否有助于它对如何打印带前导零的数字有一些建议,如果你能告诉这些数字的用法,可以提供更相关的答案......