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


当前回答

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

其他回答

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

由于它的十进制描述为:

关键字decimal表示128位数据类型。相比 浮点类型,小数类型有更高的精度和 较小的范围,这使得它适用于金融和货币 计算。

你可以像下面这样使用小数:

decimal myMoney = 300.5m;

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

另一种选择(特别是如果您滚动自己的类)是使用int或int64,并指定后面的四位数字(甚至可能是2)为“小数点的右侧”。所以“在边缘”,你需要一些“* 10000”在入口,一些“/ 10000”在出口。这是微软SQL Server使用的存储机制,请参见http://msdn.microsoft.com/en-au/library/ms179882.aspx

这样做的好处是,所有的求和都可以用(快速的)整数算术来完成。

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