我试图在Java程序中格式化一些数字。数字将是双打和整数。处理双精度时,我只想保留两位小数点,但是在处理整数时我希望程序不会受到影响。换句话说:Java:使用DecimalFormat格式化双精度和整数,但保留不包含小数点分隔符的整数
双打 - 输入
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);
为什么一定是相同的'DecimalFormat'实例?有2个'DecimalFormat'实例有什么问题,一个保留两位数字越过小数点,一个没有任何数字越过小数点? – rgettman 2013-04-30 21:29:00
因为每次编程格式的数字都是双精度或整数,而不知道形成之前的类型。所以,我想要一个能够“理解”数字是否是双精度的修正小数点的实例 - 或者它是一个整数 - 以保持不受影响。 – Lefteris008 2013-05-01 09:50:19