我的 friend 正试图将某种计算作为类任务,但他遇到了一些麻烦。
问题是他从用户那里得到一个 int 输入(它必须是,它是任务的一部分)。他试图在下面的代码中将其转换为 double ,但这不起作用。结果无论如何都是 int 的。
double firstSolution = ((b1 * a22 - b2 * a12) / (a11 * a22 - a12 * a21));
double secondSolution = ((b2 * a11 - b1 * a21) / (a11 * a22 - a12 * a21));
最佳答案
您必须将除法运算符的一个(或两个)参数转换为 double
:
double firstSolution = (b1 * a22 - b2 * a12) / (double)(a11 * a22 - a12 * a21);
由于您要执行两次相同的计算,我建议您重构代码:
double determinant = a11 * a22 - a12 * a21;
double firstSolution = (b1 * a22 - b2 * a12) / determinant;
double secondSolution = (b2 * a11 - b1 * a21) / determinant;
这以相同的方式工作,但现在有一个 implicit 强制转换为 double。这种从 int
到 double
的转换是 widening primitive conversion 的一个示例。 .
关于java - 我需要将一个 int 变量转换为 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13252903/