2012-01-22 9 views
2

私はいずれかのボタンのIDを設定するには、このコードを使用しています:parseInt()メソッドはすべてゼロを削除しますか?

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

変数は、「I」と「j」は0 TOT 9つの数字からは常にあります。しかし、 "i"が0の場合、parseInt()メソッドはそれを削除します。

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

+2

「06」または「00000006」または「6」は同じものです(8進数を意味しない限り、入力が機能しない - 8進数は「0-7」に限定されます)。 – Mat

+1

私はそれがなぜ06である必要があるのか​​を知るのに役立つと思いますか?後でIDに何をしていますか? –

答えて

3

整数は "06"にすることはできません - 6か、ストリングです。

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

あなたが本当に先行ゼロが必要な場合は、単に使用してはいけませんStringとして、あるいはint[]

+0

ありがとう、私はこれがうまくいくと思います。 – Mavix

+0

あなたは大歓迎です:) – Force

0

それはちょうど値6として定義されているあなたはないintタイプで正確な値06を得ることができます。そのため、値06をモデル化するには、Stringまたは類似の構造体を使用する必要があります。

1

として、あなたはそれを救うことができるいずれかの必要な値を表しますよ?整数には数字だけが格納され、06と6は同じ数値なので、整数に格納すると、6ではなく6が得られます。

0

@Johanによると、intには先行ゼロを入れることはできません。あなたは、整数を使用してに固執したい場合は、出力をフォーマットすることができ

int getal = Integer.parseInt(s); 
NumberFormat formatter = new DecimalFormat("00"); 
button.setId(formatter.format(getal)); 
1

先頭のゼロは、数のの財産ではありません、彼らは文字列としてその表現の財産です。

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

文字列をintに変換する別の方法ではなく、intを文字列に変換する別の方法は、の値を希望の書式で表示します。

1

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

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

関連する問題