Ric*_*tra 6 java floating-point
如果你把一个浮点数转换1.0012成一个整数,它会变成真的1吗?
那时我为什么写:
(int)(14/13-0.001)
Run Code Online (Sandbox Code Playgroud)
而不是1.07592变成1它0?
(用Eclipse编译的Java).
Dej*_*jan 12
它会截断.对于1.0012,它只删除小数点右边的部分.
在例子中
(int)(14/13-0.001)
Run Code Online (Sandbox Code Playgroud)
14/13将为1,然后它将被转换为double,1.0-0.001 = 0.999,并且在截断后它变为0.
14 / 13是整数除法.它的值是1.
1 - 0.01 因此低于1.
将其转换为int因此产生0.
使用14.0 / 13 - 0.001或14d / 13 - 0.001代替.
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |