我需要将一个int变量转换为double

我的朋友正在尝试将某种计算作为上课的一项任务,但他遇到了一些麻烦…希望您能为他提供帮助。

问题在于他从用户那里得到了一个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;

这以相同的方式工作,但是现在有一个 隐式

强制转换为double。从int到的转换double是扩展原始转换的一个示例。

以上是 我需要将一个int变量转换为double 的全部内容, 来源链接: utcz.com/qa/397708.html

回到顶部