将字符串转换为双C#

时间:2013-01-18 13:50:44

标签: c# double

我对特定转换有一个有趣的问题。 当我尝试将字符串"0,3""0.3"根据UICulture转换为Double值时,结果为0,29999999。我还没有找到解决方案,以便收到结果0,3

转换后有什么方法可以获得相同的值吗?

1 个答案:

答案 0 :(得分:14)

double 不能代表 每个值。它保证代表整数,但这就是它。如果您需要更像“人类”近似数字的内容,请使用decimal

decimal val = decimal.Parse("0.3");

注意:decimal 并不代表所有值 - 但它的近似方式往往更像人们期望数字的工作方式。特别是double对货币这样的东西几乎没用。