如何处理不可分的数字

时间:2017-09-06 17:00:07

标签: types division

我无法找到处理此问题的任何问题或库。我认为这是因为我没有太多参与数学编程。

所以基本上这是我的问题。假设我有三个用户,我系统中的每个用户都有一个余额为变量的变量:

var balance_1 = 1;

var balance_2 = 1;

var balance_3 = 1;

让我们说我希望我的系统具有灵活性,并允许用户将部分余额发送给其他用户。例如,用户1将其余额的1/3发送给用户2.用户3将其余额的2/3发送给用户2.

balance_1 = 1 - 1/3

balance_2 = 1 + 1/3 + 2/3 = 2

balance_3 = 1 - 2/3

问题出在哪里?好吧问题是,如果我使用浮点数(或任何整数,如精度),我总会得到balance_3 = 1.999~但是,这不是现实(或结果我&# 39; m寻找)。我希望balance_3为2。

所以基本上我正在寻找某种允许我存储诸如" 1/3"等值的类型。他们的全部价值而不是近似值。

有关我应该看的地方的任何建议吗?

PS:没有特定的语言。我一直在寻找开发人员如何处理这种情况。

1 个答案:

答案 0 :(得分:1)

Scheme有一个rational类型来表示有理数,所以你可能想看看它是如何实现的。