打印最大数量的变量

时间:2020-06-09 02:26:49

标签: java

我正在尝试弄清楚当前如何舍入数字。

   public static void main (String [] args) {
      double outsideTemperature;

      outsideTemperature = 103.46432;

      /* Your solution goes here  */
      System.out.printf("%3.6s\n", outsideTemperature);

   }
}

这段代码的打印输出为103.46,非常好,除了运行的下一个测试的变量为70.116,并且预期输出为70.12。

如何获取答案并通过两个测试?

2 个答案:

答案 0 :(得分:2)

遇到此类问题时,您的第一站应该是文档。

System.out.printf指向Format String Syntax

要格式化浮点数,您需要%f,而不是%s(它格式化字符串,但具体不知道数字):

System.out.printf("%.2f\n", outsideTemperature);

点的前面是字段的总宽度(您不感兴趣),点的后面是小数点后的位数(在您的情况下为2)

答案 1 :(得分:1)

您可以使用Math.round()

outsideTemp = 103.46432;

工作方式:

Math.round(103.46432 * 100)= 10346.00(四舍五入为最接近的值)

Math.round(103.46432 * 100)/ 100 = 103.46

roundedDouble = Math.round(outsideTemp * 100.0) / 100.0;
System.out.println(roundedDouble);