dst*_*str 2 .net string floating-point
这是我关于将字符串转换为float的最后一个问题的后续跟进
我有这个值存储在一个浮点变量:33.9112625(它是三十三)我需要将它转换为字符串并获得确切的值,但我无法这样做.float.ToString(CultureInfo.InvariantCulture)给了我"33.91126"的结果.我试过.ToString("G"),"G7"和CultureInfo.InvariantCulture.NumberFormat,但他们没有帮助.如何将float转换为字符串并获得完全相同的值?
首先,您没有在float(System.Single)中保存"exact"值.有关详细信息,请参阅David Goldberg关于浮点精度的文章.
话虽这么说,如果你想转换它,你需要为Single.ToString()指定额外的精度.通过使用"G",您将获得默认精度,即7.在您的情况下,要查看您显示的值,您需要9,因此您可以使用"G9".