我可以在.NET中使用“System.Currency”吗?

时间:2008-09-30 00:24:06

标签: .net

是否可以使用system.currency。它说system.currency由于其保护级别而无法访问。什么是货币的替代品。

4 个答案:

答案 0 :(得分:13)

您必须使用Decimal数据类型..

decimal关键字表示128位数据类型。与浮点类型相比,十进制类型具有更高的精度和更小的范围,这使其适用于财务和货币计算。

答案 1 :(得分:8)

使用十进制。 Currency提供的所有函数都是Decimal,FromOACurrency和ToOACurrency的静态方法。

答案 2 :(得分:2)

有可能通过反思,但 {{有 FromOACurrency() ToOACurrency() 静态方法的原因1}} ,用于从/向Visual Basic 6使用的Ole Automation System.Decimal类型转换。

答案 3 :(得分:-3)

您无法实际使用十进制货币。当你分裂时,你将面临更大的问题。假设您将1美元拆分为3,即1/3 = 0.33(四舍五入),但是3 x 0.33 = 0.99!= 1.它可能很小,但是当您在会计中这样做并堆叠您的工作表时,它将是一个巨大的数字。这就是为什么.Net(不确定其他编程语言)中的默认舍入/下行行为是下一个偶数值,也称为银行家舍入,以最小化会计中的错误,与我们正常的“人类”舍入方式相比。

阅读本页以获得更清晰的解释和一个处理金钱的特殊课程。 Code Project : A Money type for the CLR

同样关于Rounding