.net - .NET的Money数据类型?

标签 .net currency financial

在.NET中寻找一个好的 Money数据类型,以支持货币汇率(具有相关的行为和操作)。

  • 注意:我开始搜索作者肯特·贝克(Kent Beck)在Test-Driven Development By Example书中打印的打印源代码-他开发了一个不错的货币概念。无法在线找到完整的源。该书不包含一个单数 list ,而是在书的整个过程中开发源代码。

  • 尽管本书没有更深入地介绍,但我也希望Money类支持不同的四舍五入机制,因为全局各地的金融机构对此也有所不同。

    编辑1:说明

    “货币类”是指.NET数据类型,可用于支持货币及其操作,并带有货币支持和汇率计算功能。诸如此类的东西是更高层次的抽象,可能在内部使用原始数据类型。另外,它可能依赖于一类类:Money,ExchangeRate,Bank等。

    它可能是值类型(即struct)或引用类型(即class),但无论哪种方式,它都是完整的并支持上述功能。

    编辑2:Moneys数据类型的目标

    (这也说明了为什么原始的十进制,整数或其他原始类型不能满足所有Money的需求)

    Money数据类型的目标是:
  • 安全功能(即防止对不同货币类型进行算术运算)。
  • 存储带有值(即AUD,US,DKK)的货币类型。
  • 存储格式详细信息(即十进制分组,货币符号等)。
  • 转换提供商(例如汇率)可帮助完善解决方案。
  • 减少表达式中的多种货币以获得结果。

  • 注意:可以从外部来源加载和使用各种数据值,例如汇率。这个问题不会推断出任何动态都被硬编码到Money的概念中。

    最佳答案

    马丁·福勒(Martin Fowler)将金钱视为“数量”的特例,其次,他认为正确的金钱数据类型应该是“大整数”。而且他确实有一点。

    Quantity and Money Pattern by Martin Fowler

    关于.net - .NET的Money数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2215601/

    相关文章:

    C# 创建自定义 NumberFormatInfo 以在货币值为 $0.00 时显示 "Free"

    GNUPLOT 绘制 5 天的财务周

    .net - .Net 中是否有描述最小 Windows FileTime 值的常量?

    货币套利和矩阵

    .net - 将 clientaccesspolicy.xml 放在 Silverlight 项目中的什么位置

    java - 如何在mysql表中保存货币符号unicode

    yodlee - 如何从 Yodlee 检索账户持有人的姓名

    r - 下载 quantmod 数据时出错

    .net - UdpClient同时接收和发送

    c# - 资源文件 (.resx) 与反射访问嵌入式资源