Java -算术计算

  • 本文关键字:计算 Java java math
  • 更新时间 :
  • 英文 :


我有以下代码片段:

public class YourClassNameHere {
public static void main(String[] args) {
double x = 3 / 2 * 3;
System.out.printf("%.1f", x);
}
}

我知道3.0将被打印出来。然而,为什么它不是4.5?

感谢您的时间和事先的澄清。

您的方程是double x = 3 / 2 * 3x变量是存储双数据类型,但323是存储在整数格式…

首先你需要将这个数字转换成双精度,然后你会得到正确的输出

的例子:

public class YourClassNameHere {
public static void main(String[] args) {
double a = 3;
double b = 2;
double c = 3;
double x = a / b * c;
System.out.printf("%.1f", x);
}
}

我建议你必须使用适当的括号来减少错误double x = (3/2)*3

32给出一个整型值,即1如果要让它变成双精度值,就必须输入(32.0)它给出双精度值,即1.5然后是1.5 * 3 = 4.5

因为你使用的是整数,它将返回整数。要得到想要的结果,只需添加"f"表示数字为浮点数的后缀:

double x = 3f / 2f * 3f;

刚刚明白,这是因为3/2 = 1,然后1*3变成3。谢谢大家的回复!

最新更新