C# 无法隐式转换类型';浮动';至';int';
当我尝试运行下面的代码时,它给出了一个错误,即“无法隐式地将类型‘float’转换为‘int’” 我做了很多搜索,遗憾的是,我找不到任何帮助,这样的错误C# 无法隐式转换类型';浮动';至';int';,c#,C#,当我尝试运行下面的代码时,它给出了一个错误,即“无法隐式地将类型‘float’转换为‘int’” 我做了很多搜索,遗憾的是,我找不到任何帮助,这样的错误 int sum1, cols, rows; float h, twoEnds, x; sum1 = (h - ((cols) * x) + twoEnds)) / (cols + 1); 由于h、two-end和x都是浮点数,以下等式将返回浮点数: sum1 = (h - ((cols) * x) + twoEnds)) / (cols
int sum1, cols, rows;
float h, twoEnds, x;
sum1 = (h - ((cols) * x) + twoEnds)) / (cols + 1);
由于
h
、two-end
和x
都是浮点数,以下等式将返回浮点数:
sum1 = (h - ((cols) * x) + twoEnds)) / (cols + 1)
您可以将sum1更改为float,或将方程式转换为int,如下所示:
sum1 = (int)((h - ((cols) * x) + twoEnds)) / (cols + 1));
错误说明了这一点 无法将类型“float”隐式转换为“int” 因此,您有一个
float
结果,它不能隐式转换为sum1
,它的类型为int
。尝试显式转换/强制转换它:
请记住,我使用的是C#。
那么C
和C++
标记的原因是什么?转换为int
:sum1=(int)((h-…/(cols+1))
是的,因为没有从float到int的隐式转换。目前,您声明了x
两次;这甚至不会编译。哦,是的。我在这里错误地复制了它,但在我的代码中它没有声明两次。无论如何,谢谢大家,它成功了=)
sum1 = (int) ((h - ((cols) * x) + twoEnds)) / (cols + 1));