java double转String,去掉科学计数法

  • 在数值型double转String格式时,如果同时遇到数值较大的double和小数位较多的double处理方法:
double a = 111111111111.00;
double b = 2.22222222222222;
java.text.NumberFormat NF = java.text.NumberFormat.getInstance();
//设置数的小数部分所允许的最大位数,避免小数位被舍掉
NF.setMaximumFractionDigits(15);
//设置数的小数部分所允许的最小位数,避免小数位有多余的0
NF.setMinimumFractionDigits(0);
//去掉科学计数法显示,避免显示为111,111,111,111
NF.setGroupingUsed(false);
System.out.println(NF.format(a));
System.out.println(NF.format(b));

结果为:

111111111111
2.22222222222222
  • 如果需要固定小数点后几位,可以设置:
//N为小数点后位数
NF.setMaximumFractionDigits(N);
NF.setMinimumFractionDigits(N);

或者:

a = 1111.111111
DecimalFormat df = new DecimalFormat("0.00");
String a = df.format(a);

0.00表示保留小数后两位,0.0000表示保留小数后4位,以此类推。

你可能感兴趣的:(java)