在 C# 中。我有一个具有 20 位精度的双精度数(我从数据库中提取的)。在 Visual Studio(使用 QuickWatch)中,我可以看到双精度值 = 0.00034101243963859839。
我想在文本框中显示这个值,然后当我把它拿出来并将它转换回双精度值时让它成为相同的值。但我总是输掉最后两位数字
我尝试了以下方法:
double d = 0.00034101243963859839;
string s = d.ToString();
string s2 = d.ToString("F20");
string s3 = d.ToString("0.00000000000000000000"); -- 20 0's
string s4 = (d*100d).ToString();
在这些情况下:
s = 0.000341012439638598 s2 = 0.00034101243963859800 s3 = 0.00034101243963859800 s4 = 0.0341012439638598
我希望能够做到以下几点:
double d = 0.00034101243963859839;
string s = d.ToString();
//...
double d2 = double.Parse(s);
if(d == d2)
{
//-- Success
}
有没有办法保持最后两位精度?