我正在尝试在一个Java程序中格式化一些数字。这些数字既可以是双精度浮点型也可以是整数类型。在处理双精度浮点数时,我希望只保留两位小数;而在处理整数时,我希望程序不对其做任何修改。换句话说:
双精度浮点数 - 输入
14.0184849945
双打 - 输出
14.01
整数 - 输入
13
整数 - 输出
13 (not 13.00)
有没有一种方法可以在同一个 DecimalFormat 实例中实现这个?到目前为止,我的代码如下:
DecimalFormat df = new DecimalFormat("#,###,##0.00");
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(Locale.ENGLISH);
otherSymbols.setDecimalSeparator('.');
otherSymbols.setGroupingSeparator(',');
df.setDecimalFormatSymbols(otherSymbols);