我正在寻找用于财务数据的定点标准,你知道任何值得尝试的吗?您对手工制作的定点课程的表现有什么经验吗?
Dr.Dobb有一篇关于在C++中可能实现定点算术类型的文章.看看这个.
哎哟.财务系统很棘手,你的主要问题不是定点数学,问题是舍入误差.
您可以拥有一个完整的电子表格,其中包含客户类型和增值税折扣的简单计算.你做了一个总计,你把它呈现给会计师,他说价值观都是错的.原因:输出可能只有2个小数位,但在内部,该值包含float或double的所有小数位.他们确实加起来了.
您需要了解您的财务状况并确定基准值的位置.意味着会计师将检查哪些价值(是的,它需要商业知识,有"棘手"部分).
在将值保存到持久表单(数据库,文件,内存...)之前,您将截断乘法和除法可能添加的额外小数位.
N个小数位的快速和脏解:((double)((int)(Value*N*10.0)))/ 10.0
当然,您需要确切地检查您的财务需要哪种舍入方式.
我用我的定点数学课.它被设计成或多或少地替代浮子/双打.http://codef00.com/coding
编辑:作为旁注,我个人不会为此目的使用固定点类.我只需存储分数(或十分之一,或百分之一分).A直接用它来做数学.然后我会在向用户显示时适当地缩放值.