我好奇的任何“四舍五入”标准”,当涉及到财务数据的计算中。我最初的想法是否存在要执行仅当数据正在被呈现给用户(表示层)四舍五入。

如果“圆形”的数据随后用于进一步的计算,应该是使用“圆形”的数字或“原始”数字?有没有人有什么建议吗?

请注意,我知道的不同的舍入方法,即舍入银行家等等。

有帮助吗?

解决方案

在第一和最重要的规则:使用十进制数据类型时,从来没有二进制浮点类型。

当恰好四舍五入应执行可通过法规规定,如欧元和之间的转换本国货币该替换。

如果没有这样的规定,我会做高精度所有的计算,和圆形只为呈现,即不进行进一步的计算采用四舍五入值。这应该产生最佳整体精度。

其他提示

我只问了一个樽大型机程序员在为金融软件公司工作的我,他说,没有知名的标准,它是由程序员的做法。

尽管自至少1906年的统计人员已经意识到了这个问题四舍五入的,它是很难找到一个金融标准认可它。

根据这坐即“欧洲委员会报告的 欧元的介绍和货币的舍入金额 表明还有以前一直没有标准的方法来银行取整。”

在一般情况下,使用对称舍入模式不管什么基准您在(底数为2或碱-10)的工作。

这将避免在计算期间的系统偏差。

这种模式是圆半到偶数,否则称为“银行家舍入”。

使用的语言工具,允许你指定数值上下文明确地,包括舍入和截断模式。例如,Python的 decimal 模块。 C库所作的隐含假设可能不适合你的计算。

http://en.wikipedia.org/wiki/Rounding#Rounding_to_integer

伊夫没有见过的存在“的一个标准来规范一切” - 有任何数量的四舍五入规则(如您已引用),他们似乎基于行业/客户/和货币代码,进入游戏( 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为在工资单率

现在的工资单计算不扎出一分钱,现在你要解释它,但即使是在员工的青睐,它可以够劳动律师气味血液在水中和启动寻找其他的东西。

一种方法是始终围绕有利于员工的,而不是在自然的方向,所以有可能永远不会成为系统的工资盗窃的指控。

考虑使用比例整数。

在换句话说,存储便士整数代替美元小数。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top