【说明】
数字转字符串并保留N位小数是常见操作,下面代码列举了四种可用方式,推荐第一种。
【代码】
package test240716;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
/**
* 将浮点数转字符串,并保留n位小数的四种方法
* @author ufo
*
*/
public class Test1 {
public static void main(String[] args) throws Exception{
double d=Math.E;// 取欧拉数
// 方法一(最推荐)
String s=String.format("%.6f", d);
System.out.println(s);
// 方法二
DecimalFormat df=new DecimalFormat("#.000000");
String s1=df.format(d);
System.out.println(s1);
// 方法三
NumberFormat nf=NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(6);
String s2=nf.format(d);
System.out.println(s2);
// 方法四
BigDecimal bg=new BigDecimal(d);
double f1=bg.setScale(6, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
}
输出结果:
2.718282
2.718282
2.718282
2.718282