将 int 类型转换为 double java?

新手上路,请多包涵

我正在练习调试,但有一个我不确定的问题,它问我出了什么问题,我能做些什么来解决它我读了书上的章节,但不够具体。从书中粘贴:

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 许可协议

阅读 523
2 个回答

你唯一的可能性是:

  • 如果您想将数字存储为整数,请将 double 类型转换为 int
   int a = (int)26.4   // so a will be 26

(你显然会以这种方式失去精度)

  • 将数字存储为 double 以保持精度:
   double a = 26.4

原文由 Keiwan 发布,翻译遵循 CC BY-SA 3.0 许可协议

转换没有任何帮助,请看下面的代码:

 //int a = 26.4; // gives compile error
int a = (int) 26.4; // gives 26
double b = a; // gives 26.0
double c = (double) a; // also gives 26.0

原文由 Wojciech Kazior 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏