我正在寻找一种用于财务数据的定点标准,你知道什么值得一试吗?你对那些手工制作的定点类的表现有什么经验吗?
发布于 2008-09-28 16:40:40
Dr.Dobb博士有一篇关于在C++中实现定点算术类型的文章。查看this。
发布于 2008-09-28 17:21:35
唉哟。金融系统是棘手的,你的主要问题不是定点数学,问题是舍入误差。
你可以有一个很好的电子表格,充分与客户类型的折扣和增值税包括不稳定的计算。你做了一个总数,你把它提交给一个会计,他说这些值都是错的。原因是:输出的格式可能只有两位小数,但在内部,值有浮点数或双精度数的所有小数位。而且它们确实加在一起了。
你需要知道你的财务状况,并决定基本值在哪里。这意味着会计人员将检查哪些价值(是的,这需要商业知识,汉斯是“棘手”的部分)。
在将值保存到持久表单(数据库、文件、内存...)之前您可以截断乘法和除法可能添加的额外小数位。
N个小数点后的快速解决方案:((double)((int)(Value *N*10.0)/10.0
当然,你需要准确地检查你的财务需要哪种类型的舍入。
发布于 2008-09-28 18:35:51
我使用我的定点数学课。它被设计成或多或少的浮点数/双精度浮点数的替代品。http://codef00.com/coding
编辑:顺便说一句,我个人不会为了这个目的而使用定点类。相反,我将只存储美分的数量(或者根据需要,或者十分之一美分,或者百分之一美分)。直接用它来做数学计算。然后,在向用户显示时,我会适当地缩放值。
https://stackoverflow.com/questions/146207
复制相似问题