2009年8月22日土曜日

文字列のフォーマット(数字編)

Phthonにおける文字列のフォーマットはJavaのMessageFormatと比べるとだいぶ様子が異なります。

例)Python
  • フォーマットを文字列で定義します。
  • %に続けてフォーマットコードを記述すると、そこに文字列がバインドされます。たとえば"%s"(文字列)、"%d"(10進数整数)など。一覧はコチラをご覧ください。
  • 数字の精度を指定する場合は"%[符号][ゼロ埋めするか][整数桁数].[浮動小数桁数]f"と定義します。
  • バインドする値は"%"で区切って指定します。

FORM = "%02.3f" # 符号なし、ゼロ埋めあり、整数2桁、小数3桁
x = float(1)
y = float(3)

print FORM % (x / y) # 値のバインド
出力)
> 00.333
例)Java
型が厳密な故にMessageFormat#format()メソッドの引数をObject型にしなければならないのが煩わしいですね。

final MessageFormat FORM = new MessageFormat("{0, number, ##.##}");
float x = (float)1;
float y = (float)3;
Object[] args = {new Float(x / y)};
System.out.println(FORM.format(args));

0 件のコメント:

コメントを投稿