.NET浮点精度显示为9位数
本文关键字:9位数 显示 精度 NET | 更新日期: 2023-09-27 18:28:26
我正在将一个应用程序从.NET移植到Mono Runtime,在代码中的某一点上,我可以看到浮点值为158136.422
。我对float的理解是它是7位数的精度,那么这个数字怎么能被接受呢?正如我所期望的那样,Mono将其修剪为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.