为 .NET寻找支持货币和汇率(具有相关行为和操作)的良好Money 数据类型。
- 注意:我开始在作者 Kent Beck 的“示例测试驱动开发”一书中搜索印刷版的源代码- 他开发了一个很好的货币概念。网上找不到完整的源码。这本书不包含一个单一的列表 - 相反,它在本书的整个过程中开发了源代码。
虽然这本书没有深入,但我也希望 Money 类支持不同的舍入机制,因为这在全球金融机构之间也有所不同。
编辑 1: 澄清
“Money 类”是指一种 .NET 数据类型,我可以使用它来支持货币及其操作,包括货币支持和汇率计算。类似的东西是更高级别的抽象,并且可能在内部使用原始数据类型。它还可能依赖于一系列类,例如:Money、ExchangeRate、Bank 等。
它可能是值类型(即结构)或引用类型(即类),但无论哪种方式,它都是完整的并支持上述特性。
编辑 2:Money 数据类型的目标
(这也说明了为什么原始的小数、整数或其他原始类型不足以满足所有资金需求)
Money 数据类型的目标是:
- 安全功能(即防止对不同货币类型进行算术运算)。
- 存储带有值的货币类型(即 AUD、US、DKK)。
- 存储格式详细信息(即十进制分组、货币符号等)。
- 转换提供者(例如汇率)帮助完善解决方案。
- 减少表达式中的多种货币以实现结果。
注意:可以从外部源加载和使用汇率等不同的数据值。这个问题并没有推断出任何动态都被硬编码到货币的概念中。