如何防止我的双精度值在转换为字符串时被舍入?我已经尝试了Convert.ToString
和ToString()
,结果是一样的。
例如,我的double可能看起来像77.987654321
,两个字符串转换为77.98765
。我需要保持值的精度不变。
发布于 2010-01-21 05:30:48
Jon Skeet的DoubleConverter
类有一个ToExactString()
方法,它将以字符串的形式返回double的精确值。
发布于 2022-01-04 18:06:46
对于使用.NET/.NET核心的更新版本的任何人:
.NET Core3.0引入了一个突破性的变化,改变了double.ToString()
,不再使用"G15"
作为默认格式。相反,ToString()
返回解析时返回相同值的最短字符串。
因此,为了保持精度,您可以简单地使用ToString()
。
这类似于旧版本的"R"
格式说明符,但在此更改之前,显然也不是100%准确。
发布于 2010-01-21 05:31:44
不能保证,但请尝试ToString("R")。
https://stackoverflow.com/questions/2105096
复制相似问题