【发布时间】:2011-02-11 05:07:44
【问题描述】:
Web 服务 API: 我注意到有些公司喜欢传递整数作为“货币”金额,而不是传递带小数位的小数数据类型($ 100.29),这是有充分理由的为什么他们选择整数作为货币而不是十进制数据类型?
例如,他们这样做
- 100 = 1.00 美元
- 10043 = 100.43 美元
为什么不这样做
- 1.00 或 1 = 1 美元
- 100.43 = 100.43 美元
【问题讨论】:
-
啊,好的,明白了!以避免四舍五入的问题。
-
没错!浮点数和双精度数因微妙的舍入问题而臭名昭著。 Decimal 数据类型也精确到 30 位左右,因此它适用于需要更多位数的复利计算等。
标签: c# asp.net web-services currency