日期:2014-05-18 浏览次数:20956 次
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楼方法挺有启发的