1

固定長レコードのフォーマットに java.util.Formatter クラスを使用したいと考えています。レコードには Integer フィールドと Double フィールドが含まれます。

対応する文字列表現が指定された幅に収まる Integer と Double の場合 (たとえば、「12.345」が「%3.3d」に「収まる」)、問題はありません。値を「012.345」にパディングすることができます。ただし、Double が'1234.567' のように指定された幅を超える場合、'%3.3d' 変換形式は '1234.567' になり、固定長レコードの定義が台無しになります。

そのような場合に例外を取得したいので、私のプログラムは適切なエラー処理を行うことができます。たとえば、次のようなものを見たいと思います:

String r = null;
try {
    r = String.format("%3.3d", new Double(1234.567));
} catch (SomeFormatException e) {
    // do error handling
}

これを達成するために使用できる変換フラグはありますか?

4

0 に答える 0