使用Float或Decimal作为会计应用程序的美元金额?

使用Float或Decimal作为会计应用程序的美元金额?

我们正在用VB.NET和SQL Server重写我们的旧会计系统。我们引入了一个新的.NET / SQL程序员团队来进行重写。大多数系统已经使用Floats完成了Dollar数量。我编程的遗留系统语言没有Float,所以我可能会使用Decimal。

你有什么建议?

Float或Decimal数据类型应该用于美元金额吗?

两者的优点和缺点有哪些?

在我们的日常scrum中提到的一个骗局是,当你计算一个返回超过两个小数位的结果的金额时,你必须要小心。听起来你必须将金额四舍五入到小数点后两位。

另一个Con是所有显示和打印金额必须有一个显示两个小数位的格式声明。我注意到有几次没有这样做,金额看起来不正确。(即10.2或10.2546)

专家是Float只占用磁盘上的8个字节,其中Decimal占用9个字节(十进制12,2)


守着星空守着你
浏览 632回答 3
3回答

墨色风雨

这是另一种情况:来自北安普顿的人得到一封信,说如果他没有支付零美元和零美分就会被扣押!

鸿蒙传说

首先,您应该阅读每个计算机科学家应该知道的关于浮点运算的内容。那么你应该考虑使用某种类型的定点/任意精度数字包(例如java BigNum,python十进制模块),否则你将陷入一个受伤的世界。然后弄清楚是否使用本机SQL十进制类型就足够了。浮点/双打存在(ed)以暴露快速x87 fp,现在已经过时了。如果您关心计算的准确性和/或不完全补偿其限制,请不要使用它们。
打开App,查看更多内容
随时随地看视频慕课网APP