字符串浮动与双转换

时间:2011-03-31 17:47:35

标签: c# numbers

为什么在执行以下代码行之后fvalue1 123456792?

float fvalue1 = Convert.ToSingle("123456789", CultureInfo.InvariantCulture);

转换为double按预期工作:

double dvalue1 = Convert.ToDouble("123456789", CultureInfo.InvariantCulture);

2 个答案:

答案 0 :(得分:4)

你刚刚发现了double类型存在的原因 - 它的精度比float更好。

查看以下这些类型之间的差异:Difference between decimal, float and double in .NET?

答案 1 :(得分:3)

float没有表示123456789所需的精度,而double表示。