日期:2014-05-18 浏览次数:20749 次
double d = 1.23456789E8d; DecimalFormat df = new DecimalFormat( "#.#" ); System.out.println(String.valueOf(df.format(d)));
------解决方案--------------------
这个问题问得很及时,学习
留个名就可以
------解决方案--------------------
请参考! Money比较敏感,建议楼主使用BigDecial 代替Double
private static NumberFormat nf = NumberFormat.getNumberInstance(); /** * 输出格式化的数字 * @param bd 数字 * @param fraction 小数点位数 * @param group 是否显示千分位的小数点 * @return */ public static String toString(double bd, int fraction, boolean group) { nf.setGroupingUsed(group); nf.setMaximumFractionDigits(fraction); nf.setMinimumFractionDigits(fraction); return nf.format(bd); } public static String toString(BigDecimal bd, int fraction, boolean group) { if (bd == null) { return ""; } nf.setGroupingUsed(group); nf.setMaximumFractionDigits(fraction); nf.setMinimumFractionDigits(fraction); return nf.format(bd); }
------解决方案--------------------
我开始还以为是个很简单的问题那,同1楼想法一样,不过5楼方法挺有启发的