我可以在.NET中使用" System.Currency"吗?
时间:2020-03-06 14:54:09 来源:igfitidea点击:
是否可以使用system.currency。它说system.currency由于其保护级别而无法访问。什么是货币的替代品。
解决方案
我们必须使用十进制数据类型。
十进制关键字表示128位数据类型。与浮点类型相比,十进制类型具有更高的精度和更小的范围,这使其适用于财务和货币计算。
可以通过反射来实现,但是其原因在于System.Decimal上的FromFromCuCurrency()和ToOACurrency()静态方法,该方法用于从/到Visual的Ole AutomationCurrency
类型进行转换基本的6个用途。
使用十进制。 Currency提供的所有功能都是Decimal,FromOACurrency和ToOACurrency上的静态方法。
我们实际上不能使用Decimal作为Currency。当我们分手时,我们将面临更大的问题。假设我们将$ 1分成3,即1/3 = 0.33(四舍五入),但3 x 0.33 = 0.99!=1. 它可能很小,但是当我们这样做时,会计ans将工作表堆积一个巨大的数字。这就是为什么.Net(不确定其他编程语言)中默认的向上/向下取整行为是到下一个偶数值(也称为银行家取整)的原因,与我们通常的"人为"取整方法相比,它可以使会计错误最小化。
阅读此页面以获得更清晰的解释和处理金钱的特殊课程。代码项目:CLR的Money类型
也关于舍入