为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着星空守着你 2019-08-12 16:30:24
使用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)
查看完整描述

3 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

查看完整回答
反对 回复 2019-08-12
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

首先,您应该阅读每个计算机科学家应该知道的关于浮点运算的内容。那么你应该考虑使用某种类型的定点/任意精度数字包(例如java BigNum,python十进制模块),否则你将陷入一个受伤的世界。然后弄清楚是否使用本机SQL十进制类型就足够了。

浮点/双打存在(ed)以暴露快速x87 fp,现在已经过时了。如果您关心计算的准确性和/或不完全补偿其限制,请不要使用它们。


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 631 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信