为什么在执行以下代码行之后fvalue1 123456792?
float fvalue1 = Convert.ToSingle("123456789", CultureInfo.InvariantCulture);
转换为double按预期工作:
double dvalue1 = Convert.ToDouble("123456789", CultureInfo.InvariantCulture);
答案 0 :(得分:4)
你刚刚发现了double类型存在的原因 - 它的精度比float更好。
查看以下这些类型之间的差异:Difference between decimal, float and double in .NET?
答案 1 :(得分:3)
float没有表示123456789所需的精度,而double表示。