如何在C#中将Int/Decimal转换为float?

Jar*_*red 55 c# floating-point casting

如何在C#中将int或decimal转换为float?

我需要使用float来进行第三方控件,但我不会在我的代码中使用它们,而且我不确定如何最终使用float.

hea*_*vyd 107

你可以做个演员

int val1 = 1;
float val2 = (float)val1;
Run Code Online (Sandbox Code Playgroud)

要么

decimal val3 = 3;
float val4 = (float)val3;
Run Code Online (Sandbox Code Playgroud)

  • 我们不能只做`float val2 = val1;`吗? (2认同)

Chr*_*ann 38

与int相同:

float f = 6;
Run Code Online (Sandbox Code Playgroud)

此外,这里是如何以编程方式从int转换为float,C#中的单个与float相同:

int i = 8;
float f = Convert.ToSingle(i);
Run Code Online (Sandbox Code Playgroud)

或者你可以将一个int转换为一个浮点数:

float f = (float)i;
Run Code Online (Sandbox Code Playgroud)

  • toSingle也是+1 (2认同)
  • 我在那里寻找Convert.ToFloat()+1 (2认同)
  • toSingle 也+1 (2认同)
  • 由于某种原因(浮动)对我不起作用,但 Convert.ToSingle() 做到了!+1 (2认同)

小智 5

您甚至不需要强制转换,它是隐式的。

int i = 3;

float f = i;
Run Code Online (Sandbox Code Playgroud)

可以在此处查看隐式数字转换的完整列表/表格 http://msdn.microsoft.com/en-us/library/y5b434w4.aspx

  • 但是您确实需要对小数进行强制转换才能浮动 (2认同)