我有以下变量,我试图将myInt变为double,但是,我得到了一个"无法从double转换为int'错误。我注意到我可以在没有事故的情况下将双精度变为int,但我不确定为什么会失败。因为我是编程新手,请耐心等待。
double myDouble = 4;
int myInt;
myInt = myDouble;
System.out.println(myInt);
谢谢!
答案 0 :(得分:6)
作业double myDouble = 4
包含一个"原始扩展转换",它将int
文字4
加到double
,具体来说, 4.0
。 Java通常不允许隐式"原始缩小转换" (相反),这是myInt = myDouble;
试图做的事情。
但是,您可以使用强制转换为int
:
myInt = (int) myDouble;
答案 1 :(得分:4)
Java会在没有帮助的情况下扩大转化次数(例如int
到double
)但是对于缩小转化,您需要进行显式转换。
答案 2 :(得分:1)
写下这个:
myInt = (int) myDouble;