0

たとえば、 String code='A082' から整数 codeInt=082 を取得するにはどうすればよいですか?私はこれを試しました:

int codeInt = Integer.parseInt(code.substring(1,4));

そして私は codeInt=82 を取得し、最初の 0 を残しますが、完全なコード '082' が必要です。

考えましたがparseInt(String s, int radix)、方法がわかりません。

どんな助けでも大歓迎です。
ありがとう。

4

4 に答える 4

2

整数は数値を格納するだけです。数字 82 と 082 (さらに言えば 0082 と 000000082) はまったく同じです (言語によっては、そのようにソース コードに記述しない限り、コンパイラ エラーが発生します) 1

先頭のゼロがどうしても必要な場合は、文字列のままにしておくか、後で出力できるように数値を適切にフォーマットする必要があります。


1 C の設計者が、8 進数の定数を前にゼロを付けて書くのはクールだという独創的な考えを持っているためです。まるで、0o123あなたがすでに手に入れたら、実装するのがとても難しいかのように0xf00...

于 2010-03-13T13:02:45.140 に答える
1

82とは数学的に同じ数で082あり0082、同じビット シーケンスで表されます。の先頭のゼロの数をエンコードすることはできませんint(ただし、選択した形式で印刷することはできます)。

この数値 は、(無効な) 8 進数リテラルであるJava リテラル082とは異なることにも注意してください。 082

int i = 010;
System.out.println(i); // this prints 8
于 2010-03-13T13:03:23.703 に答える
1

082 は整数ではありません。整数 82 を表す文字列です。先頭のゼロをそのままにしておく必要がある場合は、文字列を操作する必要があります。082 を印刷するためだけに必要な場合は、または他の同様のソリューションを使用java.text.MessageFormatSystem.out.format()て、そのように印刷できます。

于 2010-03-13T13:03:46.863 に答える
0

必要0000123に応じて、変数を整数ではなく文字列として脅かす必要があります。簡単に言うと、 とと123に等しいです。00012301230000...1 billion zeros here...000123

ただし、固定長の数値を表示したいだけの場合は、 を使用してSystem.out.format()ください。

于 2010-03-13T13:03:23.150 に答える