roc*_*anu 0 java double integer rounding
Java中以下代码的输出是3.0.
为什么不呢3.3333333...?
double a = 10 / 3;
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)
因为int / int返回int(不管你之后指定的是什么).
所以10 / 3返回3(整数除法向下舍入).
这只会转换为double.
要解决此问题,请将其中一个值设为a double(所以它double / int返回a double):
double a = 10.0 / 3;
Run Code Online (Sandbox Code Playgroud)
要么
double a = (double)10 / 3;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3059 次 |
| 最近记录: |