防止float.Parse(string)结果为epsilon数

时间:2012-07-20 02:13:47

标签: c# winforms floating-point

我从textbox.Text获得了价值 我有变量float _value;来存储文本框中的值

_value = float.Parse(textBox.text);

当我想要显示_value时,它将是epsilon数字。 例如

textbox.Text = 100000000;

_value将与1.0E+12

一起存储

我确实要_value存储实数10000000.

感谢。

1 个答案:

答案 0 :(得分:2)

该值以二进制浮点格式存储,可能是IEEE754。当值转换为字符串时,您观察到的差异是文本表示之一。您可以使用格式说明符控制值的显示方式,以实现所需的输出,

float f = 1000000000000;
Console.WriteLine (string.Format("{0:.#}\n", f));

将数字格式化为“1000000000000”。

有关string.Format的更多信息。