我正在将一个应用程序从.NET移植到Mono Runtime,然后在代码中的一点上我可以看到浮点数的值为158136.422。我对float的理解是7位数的精度,那么该数字如何被接受?单声道将其调整为7位数字,正如我所期望的那样。

如果在C#中

float f = 158136.422f;


舍入为158136.4。

最佳答案

当您编写此代码时:

float f = 158136.422f;


分配给f的确切值为158136.421875

字符串表示形式输出多少位数是另一回事。

当我使用时:

float f = 158136.422f;
Console.WriteLine(f);
Console.WriteLine(f.ToString("r"));


我得到以下结果:

158136.4
158136.422


在Mono和.NET上。

关于c# - .NET Float Precision似乎是9位数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18361239/

10-09 00:29