2

このコードを使用して、任意のボタンの ID を設定しています。

String s = "" + i + j;
int getal = Integer.parseInt(s);
button.setId(getal);

変数 "i" と "j" は常に 0 から 9 までです。1 桁の数字です。ただし、「i」が0の場合、 parseInt() メソッドはそれを削除すると思います。

例: i=0 および j=6 の場合、変数 "getal" の結果は 06 ではなく 6 になります。06 にする必要があります。文字列を int に変換する別の方法を知っている人はいますか?

4

6 に答える 6

3

整数を「06」にすることはできません。これは 6 であるか、文字列です。

したがって、setId「06」と「6」の違いはわかりません。

先頭のゼロが本当に必要な場合は、Stringまたはとして保存できます。int[]

于 2012-01-22T14:34:05.590 に答える
1

必要な値を表すだけを使用するべきではありませんか? 整数は数値のみを格納し、06 と 6 は同じ数値であるため、整数で格納すると、06 ではなく 6 が取得されます。

于 2012-01-22T14:35:34.657 に答える
1

先行ゼロは数値ののプロパティではなく、文字列としての表現のプロパティです。

Integer.parseInt() 文字列を解析して、対応する整数値を決定します。値を抽出すると、フォーマットは必然的に失われます。

必要なのは、文字列を int に変換する別の方法ではなく、int を文字列に変換する別の方法で、目的の書式で値をユーザーに表示することです。

于 2012-01-22T14:36:35.020 に答える
1

整数は、整数を格納するためのデータ型です。データ型自体は、その表現に責任を負いません (つまり、6、06、0x06、00000110 はすべて、数値 6 の有効な潜在的な形式になります)。

特定のフォーマットが必要な場合は、それを文字列に格納する必要があります。

于 2012-01-22T14:37:06.037 に答える
0

@Johanが言ったように、intには先行ゼロを含めることはできません。整数の使用に固執したい場合は、出力をフォーマットできます

int getal = Integer.parseInt(s);
NumberFormat formatter = new DecimalFormat("00");
button.setId(formatter.format(getal));
于 2012-01-22T14:35:52.957 に答える
0

type は value として定義されているため、正確な値を取得することはできません。したがって、または同様の構造を使用して値をモデル化する必要があります。06int6String06

于 2012-01-22T14:32:17.720 に答える