我正在练习调试,但有一个我不确定的问题,它问我出了什么问题,我能做些什么来解决它我读了书上的章节,但不够具体。从书中粘贴:
int a = 26.4 ^ 编译时,消息如下:
Test.Java:8: 可能的精度损失 int a = 26.4;
要求:int 发现:双 1 错误
我对为什么会出现错误有一个很好的理解,因为 double 的优先级高于 int 以及 int 不一定存储 double 值。
我的问题是,有没有办法将强制转换变量 a 类型化为 double 类型?还是通过将 a 从 int 更改为 double 来解决此问题的唯一方法?
谢谢
原文由 Nocturnel 发布,翻译遵循 CC BY-SA 4.0 许可协议
你唯一的可能性是:
double
类型转换为int
:(你显然会以这种方式失去精度)
double
以保持精度: