2

我正在将一个应用程序从 .NET 移植到 Mono Runtime,在代码中的某一时刻,我可以看到 float 的值为158136.422. 我对 float 的理解是它是 7 位精度,那么这个数字如何接受?正如我所料,Mono 将其修剪为 7 位数字。

如果在 C# 中我做

float f = 158136.422f;

它四舍五入为 158136.4。

4

1 回答 1

10

当您编写此代码时:

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 上。

于 2013-08-21T15:16:27.003 回答