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

时间:2016-11-05 19:30:46

标签: c#

当我尝试运行以下代码时,它会给出一个错误,即“无法将类型'float'隐式转换为'int'”。

我做了很多搜索,遗憾的是我无法找到任何有关此类错误的帮助。

int sum1, cols, rows;

float h, twoEnds, x;

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

2 个答案:

答案 0 :(得分:2)

由于htwoEndsx都是浮点数,因此以下等式将返回浮点数:

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

您可以将sum1更改为浮点数,或者将等式转换为类似的int:

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

答案 1 :(得分:1)

错误清楚

  

无法将类型'float'隐式转换为'int'

因此,您有一个float结果无法明确地转换sum1类型int。尝试明确转换/转换

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