不能隐式转换类型'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);
由于h
, twoEnds
和x
都是浮点数,下面的公式将返回一个浮点数:
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));