たとえば、「5」という数字をint型で「05」や「005」と
表すことはできますか?

不可能でしょうか?

可能であれば、教えてください。

お願いします。

A 回答 (2件)

こんばんは。

できますよ。DecimalFormatクラスを使います。DecimalFormatクラスのコンストラクタで書式を与えてやり、表示するときにformat()メソッドを使用します。この場合、コンストラクタに必要な分だけ0をかきます。例えば、「005」と表示したいなら

DecimalFormat df = new DecimalFormat("000")とし、

int x = 5とすると、

System.out.println(df.format(x))とすると「005」になります。以下はサンプルソースです。

import java.text.DecimalFormat;

class FormatTest {

public static void main(String args[]) {
int x = 1234567;
DecimalFormat df = new DecimalFormat("00000000");
System.out.println("x=" + x);
System.out.println("x=" +df.format(x));

}
}

なお、「0」でなく「#」をしようすると、空白で埋まります。

java.text.DecimalFormatをインポートしてくださいね。
    • good
    • 0
この回答へのお礼

お礼遅くなり申し訳ございません。
確かにこの方法だと指定した桁数で出力できるようです。
本当は、int型に005などを入れたかったんですが、
無理のようですね。

ありがとうございました。

お礼日時:2003/07/13 21:17

数値を0で始めて「005」のように書くと、それは8進数の数値であるとみなされます。


「05」「005」の場合は偶然同じ結果になりますが、
例えば「010」と書くと、それは10進数の「8」の意味になってしまいます。
また、「0x」で始めると16進数の数値として解釈されます。

参考URL:http://summer.ics.nitech.ac.jp/~itota/javaspec/j …
    • good
    • 0
この回答へのお礼

お礼遅くなり申し訳ございません。
ありがとうございました。
0ではじめるとすべて16進数の意味なんですね。

お礼日時:2003/07/13 21:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング