在浮点上下文中解决整数除法

Dum*_*ing 3 java double

做的时候:

double a = 1000000000 / FPS;
Run Code Online (Sandbox Code Playgroud)

它给了我警告:

浮点上下文中的整数除法。

我该如何解决这个问题?

Rai*_*dex 25

出现警告的原因是您将两个整数1000000000和相除FPS,并且要将结果分配给的变量是double浮点类型。

相反,您想要的是浮点除法
为此,除法的操作数之一必须是浮点类型。

您可以通过以下方式进行:

1000000000.0 / FPS; // make operand a floating point type (double)
1000000000.0f / FPS; //(float)
1000000000d / FPS; //(double)
(double)1000000000 / FPS; // cast operand to a floating point type (may be necessary if your operand is a variable)
Run Code Online (Sandbox Code Playgroud)

当然,您可以FPS只创建浮点变量而不是整数变量。


L0r*_*o C 5

你有两个选择。在末尾添加 .0 如下:

double a = 1000000000.0 / FPS;
Run Code Online (Sandbox Code Playgroud)

或在最后添加 d。

double a = 1000000000d / FPS;
Run Code Online (Sandbox Code Playgroud)

  • 也许添加为什么它有效,以便OP理解。否则好的答案 (4认同)