在Java中将double转换为int

use*_*239 -3 java

我有以下变量,我试图将myInt变成一个double,但是,我得到一个"无法从double转换为int"错误.我注意到我可以将一个double转换为int而不会发生意外,但我不确定为什么会失败.因为我是编程新手,所以请耐心等待.

    double myDouble = 4;
    int myInt;


    myInt = myDouble;

    System.out.println(myInt);
Run Code Online (Sandbox Code Playgroud)

谢谢!

rge*_*man 6

赋值double myDouble = 4包含一个"原始扩展转换",它采用int文字4并将其扩展为a double,具体而言4.0.Java通常不允许隐式的"原始缩小转换"(相反),这myInt = myDouble;是试图做的事情.

但是,您可以使用强制转换显式int:

myInt = (int) myDouble;
Run Code Online (Sandbox Code Playgroud)