将数字拆分为相等的部分并将其添加到一起以获得相同的数字

时间:2017-10-27 12:01:32

标签: c# split numbers decimal

我需要在c#中实现一个逻辑,因为我需要拆分并将它添加到一起以获得相同的值。

例如:

  

1.0 / 6.0442137639369475 = 0.16544749061764519

当我添加

  

0.16544749061764519 + 0.16544749061764519

使它成为1.0根本不起作用

  

0.99268494370587

不完全是1.0。

我不确定我错过了什么......?

2 个答案:

答案 0 :(得分:0)

尝试使用更精确的数据格式。尝试使用双倍。如果这不够精确,我怀疑,您仍然可以搜索更精确的实现。

答案 1 :(得分:0)

如果我猜你的问题是正确的,你想做以下数学:

c=a/b

d=c+c+c+... n次,直到a==d

只有当您使用ab的整数时才会有效,而您的实数为6.0442137639369475,而b则不能(数学法则为afaik)。

顺便说一下:

您的分割结果0.16544749061764519已四舍五入!正确的结果是0.16544749061764518326。 所以你可能需要另外一种已经指出的数据类型。