四舍五入标准 - 财务计算
-
27-09-2019 - |
题
我好奇的任何“四舍五入”标准”,当涉及到财务数据的计算中。我最初的想法是否存在要执行仅当数据正在被呈现给用户(表示层)四舍五入。
如果“圆形”的数据随后用于进一步的计算,应该是使用“圆形”的数字或“原始”数字?有没有人有什么建议吗?
请注意,我知道的不同的舍入方法,即舍入银行家等等。
解决方案
在第一和最重要的规则:使用十进制数据类型时,从来没有二进制浮点类型。
当恰好四舍五入应执行可通过法规规定,如欧元和之间的转换本国货币该替换。
如果没有这样的规定,我会做高精度所有的计算,和圆形只为呈现,即不进行进一步的计算采用四舍五入值。这应该产生最佳整体精度。
其他提示
我只问了一个樽大型机程序员在为金融软件公司工作的我,他说,没有知名的标准,它是由程序员的做法。
尽管自至少1906年的统计人员已经意识到了这个问题四舍五入的,它是很难找到一个金融标准认可它。
根据这坐即“欧洲委员会报告的 欧元的介绍和货币的舍入金额 表明还有以前一直没有标准的方法来银行取整。”
在一般情况下,使用对称舍入模式不管什么基准您在(底数为2或碱-10)的工作。
这将避免在计算期间的系统偏差。
这种模式是圆半到偶数,否则称为“银行家舍入”。
使用的语言工具,允许你指定数值上下文明确地,包括舍入和截断模式。例如,Python的 decimal
模块。 C库所作的隐含假设可能不适合你的计算。
伊夫没有见过的存在“的一个标准来规范一切” - 有任何数量的四舍五入规则(如您已引用),他们似乎基于行业/客户/和货币代码,进入游戏( http://en.wikipedia.org/wiki/ISO_4217 ) - 因为不是每个人都使用2个地方小数点后,这个问题变得更加复杂。在一天结束时,你的客户需要指定他们想要实现...
规则这是令人沮丧,有没有这个明确的标准,既要引导程序员,并且在法庭上辩护。只是做“常规”朝最近的工资单四舍五入可以通过薪水几毛钱这里导致少付有,这是一件好事劳动律师吃起来像裂纹。
尽管基本工资率很可能只能在小数点后两位规定(“你在22.71 $ /小时雇用”),像混合加班(在一段时间平均多个工资标准确定)结束了一个有效的的23.37183475 $ /小时。
每小时的速度你怎么对加班工资吗?
15 hours x 23.37183475 x 1.5 = $525.87 rounded from $525.86628187
15 hours x 23.37 x 1.5 = $525.82
为什么你偷了五毛钱我的客户?可悲的是,我不是在开玩笑这一点。
这时候你计算在全精度值,但显示截短型变得更不舒服。你做上面的第一个计算,但只显示$ 23.37为在工资单率
现在的工资单计算不扎出一分钱,现在你要解释它,但即使是在员工的青睐,它可以够劳动律师气味血液在水中和启动寻找其他的东西。
一种方法是始终围绕有利于员工的,而不是在自然的方向,所以有可能永远不会成为系统的工资盗窃的指控。
考虑使用比例整数。
在换句话说,存储便士整数代替美元小数。