我正在将应用程序从.NET移植到Mono Runtime,在代码中的某一点我可以看到float的值为158136.422
。我对浮动的理解是它是7位精度,那么这个数字怎么可以接受?按照我的预期,Mono将其修剪为7位数。
如果在C#中我做了
float f = 158136.422f;
它四舍五入到158136.4。
答案 0 :(得分:10)
编写此代码时:
float f = 158136.422f;
分配给f
的完全值为158136.421875
。
字符串表示中输出的位数是另一回事。
当我使用时:
float f = 158136.422f;
Console.WriteLine(f);
Console.WriteLine(f.ToString("r"));
我得到的结果是:
158136.4
158136.422
单声道和.NET上的。