62,623
社区成员
发帖
与我相关
我的任务
分享 String s = "0.";
for (int i = 0; i < 50; i++) {
s = s + "1";
}
// --使用BCD码,进行高精度商业运算.
BigDecimal bd = new BigDecimal(s);
DecimalFormat db = new DecimalFormat();
NumberFormat nf = DecimalFormat.getNumberInstance(); // 这个精度高,可惜我用不到,你也许用得上吧
nf.setGroupingUsed(false);
nf.setMinimumFractionDigits(50);
nf.setMaximumFractionDigits(50);
String fmt = nf.format(bd);
System.out.println(bd);
System.out.println(fmt); private static NumberFormat nf = NumberFormat.getNumberInstance();
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);
}