3

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

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

4

1 回答 1

14

double 不能代表每个值。它保证代表整数,但仅此而已。如果您需要更像“人类”近似数字的东西,请使用decimal

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

注意:decimal 不能代表每个值 - 但它进行近似的方式往往更像人们期望数字的工作方式。特别double是对于货币之类的东西几乎没有用处。

于 2013-01-18T13:51:58.167 回答