您能否建议一种在F#中定义货币类型的最佳方式?如何在F#中定义货币类型?
回答
总是使用System.Decimal来存储财务数据! (除非你不关心不准确和舍入误差!) http://msdn.microsoft.com/en-us/library/364x0z75(VS.71).aspx
使用很长时间,并在其中存储便士(或十分之一便士)。
您可以使用类似十进制的类,但通常会结束being quite slow。
在这种情况下,不应该比速度更重要吗? – 2009-05-21 14:13:38
如何使用整数类型来存储最小单位不准确。它不像使用双重类型。 – gbjbaanb 2009-05-21 14:42:27
危险。除了错误的可能性很高之外,当有人说税率为每件0.001美元时,您可能会遇到问题。 – 2009-06-04 00:32:23
类型的钱= INT <dollars>
?
甚至没有试过它看到......你可以定义任意单位,还是只能使用明确定义的单位?
显然,你一定希望
类型的钱= INT <thousandths_of_currency>
(或硬币,或任何数万)。
为了更加准确。
编辑:
小数取类型,所以你可以定义钱:
[<Measure>]
type = pounds
type money = decimal<pounds>
这可以确保货币都无法跨越意外转换,例如:
如果
balance = decimal<pounds>
and
payment = decimal<dollars>
newbalance = balance + payment
不会编译,你就必须支付转换为decimal<pounds>
Luca Bolognese suggests一个基于关浮动的定义自己的钱类型:
[<Measure>] type money
let money (f:float) = f * 1.<money>
F#现在已经内置支持措施和单位。 根据此功能的首席工程师,肯尼迪的目标是在其他解决方案中的金融应用程序。
所以我会在F#中定义我自己的钱类型之前先看看。
沃纳
- 1. 定义JSON模式的货币类型
- 2. 如何从货币类型属性中检索值和货币类型
- 3. ASP .NET:SQL Server货币类型和.NET货币类型
- 4. 自定义货币格式
- 5. 如何在ICU4J中的MessageFormat中自定义货币格式
- 6. 在F#中,如何实例化一个泛型类型定义?
- 7. Access中货币值的数据类型
- 8. 如何在ssrs报告服务中设置自定义货币
- 9. 在java中特定货币的货币符号的位置
- 10. 如何在F#中定义T []的类型扩展?
- 11. 如何在F#中定义类型成员常量?
- 12. 自定义F#类型如何映射到CLR类型?
- 13. 在Delphi中,如何以不同形式显示不同货币的货币数据类型?
- 14. 首先在实体框架模型中使用货币类型
- 15. 类型定义中的F#递归
- 16. Firebase - 存储货币类型值
- 17. Symfony货币类型和原则
- 18. SQL Server货币数据类型问题
- 19. 如何从iphone中的货币代码获取货币符号?
- 20. ICU自定义货币格式化(C++)
- 21. Magento自定义货币保存?
- 22. C#格式货币给定货币代码(如USD/GBP/FRF)
- 23. FMT formatNumber类型=“货币”显示“¤”而不是实际的货币符号
- 24. 如何在UILabel中显示货币值?
- 25. 如何在RainMeter中格式化货币?
- 26. 如何在PostgreSQL中格式化货币
- 27. 如何在python中转换货币?
- 28. 如何使用Javascript获取SP货币字段类型值
- 29. 薪酬PAL API货币型
- 30. 在contenttype.yml中,字段类型是用来存储货币的吗?
从答案来看,您的问题需要澄清。您是在谈论计量单位(例如,不要混淆两种不同的货币),还是关于小数和舍入问题? – Benjol 2009-05-25 08:34:32