Double.TryParse 显示错误结果

Double.TryParse shows wrong result

我有一个来自数据库的字符串。例如它是 5.1 。我想使用 double.tryparse() 方法将此字符串转换为 double。我预计结果将是 5.1,但事实并非如此。结果看起来像 5.0999999999999996。我该怎么做才能达到 5.1?

代替双倍,做:

decimal.TryParse(s, out myDecimal);

 decimal d = Convert.ToDecimal(s);

因为十进制是浮动小数点而不是浮动二进制。 这是一个很好的解释:Difference between double and decimal