Java保留小数点后几位的几种写法
常用解决方法:
1,使用DecimalFormat类;
2,使用String.format()
3,使用System.out.printf()
实例代码如下:
DecimalFormat df = new DecimalFormat("0.00");
double a = 0.7854213;
double b = 0.7;
int c = 1;
int d = 12564;
System.out.println(df.format(a)); // 0.79 遵循四舍五入原则
System.out.println(df.format(b)); // 0.70 没有的位会用0补全
DecimalFormat df1 = new DecimalFormat("#.###");
System.out.println(df1.format(a)); // 0.785 遵循四舍五入原则
System.out.println(df1.format(b)); // 0.7 没有的位不会补全
DecimalFormat df2 = new DecimalFormat("000");
System.out.println(df2.format(c)); // 001 输出固定格式的,不够位的用前导0补全
System.out.println(df2.format(d)); // 12564 超出位的也不会做切割,原样输出
String s = String.format("%.2f",a); // 0.79 遵循四舍五入原则
System.out.println(s);
String s1 = String.format("%.2f",b); // 0.70 不够的位用0补全
System.out.println(s1);
String s2 = String.format("%03d", c); // 001
System.out.println(s2);
String s3 = String.format("%03d", d); // 12564 超过位则原样输出
System.out.println(s3);
// 只输出保留两位小数
System.out.printf("%.2f", a); // 0.79 遵循四舍五入原则