我正在使用此代码来设置任何按钮的 id:
String s = "" + i + j;
int getal = Integer.parseInt(s);
button.setId(getal);
变量“i”和“j”总是从 0 到 9。一个数字。但是,如果“i”是 0,那么 parseInt() 方法会删除它,我认为。
例如:当 i=0 和 j=6 时,变量“getal”的结果将是 6 而不是 06。我需要它是 06。有人可能知道将字符串转换为整数的另一种方法吗?
整数不能是“06”——它要么是 6,要么是字符串。
因此,setId
“06”和“6”之间不会有任何区别。
如果您真的需要前导零,您可以将其保存为 aString
或int[]
你不应该只使用 s 代表你需要的价值吗?整数只存储数字,而 06 和 6 是相同的数字,因此当您将其存储为整数时,您将得到 6 而不是 06。
前导零不是数字值的属性,它们是其表示为字符串的属性。
Integer.parseInt()
解析字符串以确定对应的整数值。提取值后,格式必然会丢失。
您想要的不是将字符串转换为整数的另一种方法,而是将整数转换为字符串的另一种方法,以使用所需的格式向用户显示值。
整数是一种用于存储整数的数据类型。数据类型本身不负责它的表示(即 6、06、0x06、00000110 都是数字 6 的有效潜在格式)。
如果您需要特定格式,则需要将其存储在字符串中。
您无法使用仅定义为value06
的类型获得确切的值。因此,您必须使用一个或类似的结构来为 value 建模。int
6
String
06
正如@Johan 所说,整数不能包含前导零。如果你想坚持使用整数,你可以格式化输出
int getal = Integer.parseInt(s);
NumberFormat formatter = new DecimalFormat("00");
button.setId(formatter.format(getal));