Joh*_*n K 35 .net currency financial
寻找支持货币和汇率(包括相关行为和操作)的.NET 的良好Money数据类型.
虽然这本书没有深入,但我还希望Money课程支持不同的舍入机制,因为全球金融机构也有所不同.
编辑1: 澄清
"Money class"是指我可以用来支持货币及其运营的.NET数据类型,包括货币支持和汇率计算.类似的东西是更高级别的抽象,可能在内部使用原始数据类型.它也可能依赖于一堆类,如:Money,ExchangeRate,Bank等.
它可能是值类型(即结构)或引用类型(即类),但无论哪种方式它都是完整的并支持上述特征.
(这也说明了原始十进制,int或其他原始类型不足以满足所有Money需求的原因)
Money数据类型的目标是:
注意:可以从外部源加载变量数据值(如汇率)并使用.这个问题并没有推断任何动态是硬编码到Money的概念.
Martin Fowler认为金钱是"数量"的一个特例,其次他认为正确的数据类型应该是大整数.他确实有一点意见.
货币数据类型@代码项目
http://www.codeproject.com/KB/vb/moneyDatatype.aspx
作者陈述类似的问题:
作为最近的一个应用程序的一部分,我意识到缺乏.NET是为了货币支持,不要误会我的意思,有很多"碎片",但缺少所有项目的粘合剂,所以这篇文章是对此的回应.
并实现目标
我的主要目标变成了
- 使用值存储货币类型(即AUD,US,DKK).
- 存储格式详细信息(即十进制分组,货币符号等).
- 转换提供程序,我不想硬编码,因为它是一种数据类型而不是解决方案.
- 开发安全功能(即防止不同货币类型的算术).
到目前为止,这是我正在搜索的最接近的.NET代码.它满足了Money的大多数要求.
如果有人有更好的东西,我将不胜感激.
看看这里:
http://blogs.msdn.com/lucabol/archive/2008/12/04/financial-functions-for-net-released.aspx
它提供了一个复制所有 Excel 财务功能的 .NET 库。
进行货币转换很棘手,因为显然它会不断变化,因此硬编码的值或多或少是无用的。但是,您可以使用网络服务来获取最新的汇率。 这看起来是一个好的开始。更好的是,同一个转换器的 REST 风格的接口:
http://www.webservicex.com/CurrencyConvertor.asmx/ConversionRate?FromCurrency=GBP&ToCurrency=EUR
Run Code Online (Sandbox Code Playgroud)
这样就输出了英镑对欧元的汇率。