c#浮动变量显示epsilon数

本文关键字:epsilon 显示 变量 | 更新日期: 2023-09-27 18:15:53

我正面临一个问题,而分配一个大的值浮点变量。下面是代码

float f1=99999999999.959f;

当我从这个变量检索值时,它显示1.0E+11值。我想要得到原来的值。谁能帮我解决一下这个问题?

c#浮动变量显示epsilon数

在c#中,float值只有7位的精度,所以你可以从这个数据类型中得到最好的。如果需要更高的精度,请使用双精度或十进制。

http://msdn.microsoft.com/en-us/library/s1ax56ch.aspx

您将返回您输入的数字,达到浮点数可用的精度(约6-7 d.p)

因此,首先,值的存储精度有限,其次,您显示它的方式可能会增加进一步的舍入。

如果使用双精度型,则精度将提高到15 d.p左右,或者您可以进一步使用小数

原语类型floatdouble近似

下面是关于它们的精度的一个很好的回答:如何计算Double + Float精度

甚至十进制也有这个问题。c#没有提供big num类,但您可以使用库来实现。如果你需要更精确的十进制数,那么decimal(±1.0 × 10^−28到±7.9 × 10^28)你应该试试。

示例:https://bcl.codeplex.com/(BigRational)