小数点后的数字会发生什么?

时间:2016-03-23 18:04:30

标签: c# visual-studio

我的C#应用​​程序中有float Test = Convert.ToSingle((125 * 100) / 149);行。我希望得到83.89,但我只得到83,如下图所示。

此外,如果我说MessageBox.Show(Test.ToString("0.00"));我的Visual Studio 2015实例在调试模式下崩溃并重新启动。

可能是什么原因?浮点数的小数部分在哪里?

enter image description here

1 个答案:

答案 0 :(得分:0)

你可能没有得到这些价值。所以声明它们(可选地包括一些注释以避免幻数):

value = 125;           // Previously declared as float
int factor = 100;      // Standard multiplier.
int divisor = 149;     // Process factor.
float test = Convert.ToSingle(value) * factor / divisor;

// result: 83.89262