笔试时候,遇到让你写输出小数点后几位,当时很是头疼,下来后,查了查发现,没什么难的。网上有各种情况都讨论了(一般分为4种),在这里我着重讨论一下比较实用,比较简单,比较方便操作的几种:
1 public class DotTest {
2 public static void main(String[] args) {
3 DecimalFormat df = new DecimalFormat("#.000");
4 double d1 = 12.123456789;
5
6 System.out.println(df.format(d1));
7 System.out.printf("%.3f",d1);
8 System.out.println();//为了分行显示
9 System.out.println(String.format("%.3f", d1));//输出的是字符串
10 }
11 }
输出结果是:
12.123
12.123
12.123
有人会说第二种 System.out.printf("%.3f",d1);不是标准输出啊,我想说的是,在这里虽然是c中的输出形式,但是最起码它能实现小数位的约束,总比实现不了强得多吧。
所以综上,我推荐:
- 输出是数字的话:使用DecimalFormat 类
- 输出是字符串的话:使用String.format("%.3f", d1);
Over...
参考:
1. https://blog.csdn.net/shiyong1949/article/details/52641152