3

私が取り組んでいる製品 (25 年前の製品) は非常に大きく複雑です。それでは、簡単なシナリオで何が必要かを説明しましょう。

int変数を宣言しました。言う、int var = 0001;

の値を取得しようとするとvar、 が得られます1

さて、私の要件は、0001メソッドの署名または戻り値の型を変更せずに、 を返すことは可能ですか?

4

7 に答える 7

15

数字の桁数がわかっている場合は、使用できます

String.format("%04d", number); 

int は常に 1 を返します

于 2013-07-01T07:29:14.267 に答える
1

数字を 0 から始めないでください - Java では、数字は8 進数 (基数 8)と見なされます- 奇妙な結果が得られない限り、例えば:

001 == 1

010 == 8 // 8 進数 10 == 10 進数 8

0123 == 83 // 8 進数の 123 は 10 進数の 83

08 - error! This's not an octal value

代わりに、番号を印刷したいときはいつでもフォーマットを使用してください

 int number = 1; // <- Just a decimal integer
 String result = String.form("My number is %04d in dddd format", number);
于 2013-07-01T07:39:21.890 に答える
-1

数字の正確な長さがわかっている場合。たとえば 6.

int x = 5
String s = "";
s = ""+x;
while(s.length() < 6){
   s = "0"+s;
}

これにより、000005 が出力されます。

于 2018-06-14T19:41:35.043 に答える
-3

いくつかの注意を払った後、私は有効な答えを見つけました。

DecimalFormat df=new DecimalFormat("0000");
int i=1;
i=df.format(i);

これは私のために働いた。

于 2016-12-29T08:19:43.750 に答える