我想使用 java.util.Formatter 类来格式化固定长度的记录。该记录包括 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
}
是否有任何转换标志可用于实现此目的?