在c#中,哪种数据类型最适合赚钱?


当前回答

系统。小数

Decimal值类型表示十进制数字,范围从正79,228,162,514,264,337,593,543,950,335到负79,228,162,514,264,337,593,543,950,335。Decimal值类型适用于需要大量有效整数和小数位数且没有舍入错误的财务计算。Decimal类型并不能消除舍入的需要。相反,它最小化了舍入造成的错误。

我想指出zneak关于为什么不应该使用double的出色回答。

其他回答

使用来自企业应用程序体系结构模式的Money模式。指定金额为十进制,货币为枚举。

同意货币模式:当你使用小数时,处理货币太麻烦了。

如果您创建了currency类,那么您就可以将所有与货币相关的逻辑放在那里,包括正确的ToString()方法、对解析值的更多控制以及对除法的更好控制。

此外,使用Currency类,就不会意外地将货币数据与其他数据混淆。

创建自己的类。这看起来很奇怪,但是. net类型不足以覆盖不同的货币。

十进制的范围更小,但精度更高——所以你不会随着时间的推移失去所有的便士!

详情如下:

http://msdn.microsoft.com/en-us/library/364x0z75.aspx

小数。如果你选择了double,你就很容易出现舍入错误