c#浮动变量显示epsilon数
本文关键字:epsilon 显示 变量 | 更新日期: 2023-09-27 18:15:53
我正面临一个问题,而分配一个大的值浮点变量。下面是代码
float f1=99999999999.959f;
当我从这个变量检索值时,它显示1.0E+11值。我想要得到原来的值。谁能帮我解决一下这个问题?
在c#中,float值只有7位的精度,所以你可以从这个数据类型中得到最好的。如果需要更高的精度,请使用双精度或十进制。
http://msdn.microsoft.com/en-us/library/s1ax56ch.aspx您将返回您输入的数字,达到浮点数可用的精度(约6-7 d.p)
因此,首先,值的存储精度有限,其次,您显示它的方式可能会增加进一步的舍入。
如果使用双精度型,则精度将提高到15 d.p左右,或者您可以进一步使用小数
原语类型float和double是近似。
下面是关于它们的精度的一个很好的回答:如何计算Double + Float精度
甚至十进制也有这个问题。c#没有提供big num类,但您可以使用库来实现。如果你需要更精确的十进制数,那么decimal(±1.0 × 10^−28到±7.9 × 10^28)你应该试试。
示例:https://bcl.codeplex.com/(BigRational)