2016-11-05 70 views
-4

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

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

int sum1, cols, rows; 

float h, twoEnds, x; 

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

'请记住,我使用C#.'那么是什么'C'和'C++'标签的原因是什么? –

+0

转换为'int':'sum1 =(int)((h - ... /(cols + 1))' –

+0

是的,因为没有从float到int的隐式转换 – Rahul

回答

1

的错误提出明确

不能类型“浮动”隐式转换为“廉政”

所以,你有一个float结果是不能implictly转换为sum1这是int类型。尝试转换/铸造它明确

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

由于htwoEnds,并x都是浮动,下面的公式将返回一个float:

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

您可以改变SUM1是一个浮动,或投你的方程是一个诠释像这样:

sum1 = (int)((h - ((cols) * x) + twoEnds))/(cols + 1)); 
相关问题