不能隐式转换类型'float'& # 39; int # 39;

本文关键字:转换 int 类型 float 不能 | 更新日期: 2023-09-27 18:16:42

当我尝试运行以下代码时,它给出了一个错误,即"不能隐式地将类型'float'转换为'int' "。

我已经做了很多搜索,遗憾的是,我无法找到任何帮助,这样的错误。

int sum1, cols, rows;
float h, twoEnds, x;
sum1 = (h - ((cols) * x) + twoEnds)) / (cols + 1);

不能隐式转换类型'float'& # 39; int # 39;

由于h, twoEndsx都是浮点数,下面的公式将返回一个浮点数:

sum1 = (h - ((cols) * x) + twoEnds)) / (cols + 1) 

您可以将sum1更改为浮点数,或者将公式强制转换为int型,如下所示:

sum1 = (int)((h - ((cols) * x) + twoEnds)) / (cols + 1));

错误显示

不能隐式地将'float'类型转换为'int'类型

所以你有一个float结果,它不能被隐式地转换为int类型的sum1。尝试显式地转换/强制转换:

 sum1 = (int) ((h - ((cols) * x) + twoEnds)) / (cols + 1));