add's balancing default amounts get confused by changing precision #19

Closed
simonmichael opened this Issue Apr 8, 2013 · 2 comments

Projects

None yet

1 participant

@simonmichael
Owner

Original author: simon@joyful.com (February 16, 2010 04:28:04)

Reported by Roman. Example:

$ darcs add
Enter one or more transactions, which will be added to your ledger file.
To complete a transaction, enter . as account name. To quit, press control-
c.
date [2010/02/13]:
description: sample transaction
account 1: acc1
amount 1 [0]: 13.75
account 2: acc2
amount 2 [-13.75]: 2.5
account 3: acc3
amount 3 [-16.3]: <Enter>
account 4: .
could not balance this transaction, amounts do not add up to zero. Re-
enter:

What is the expected output? What do you see instead?

For amount 3, the default should have been -16.25, not -16.3.

Original issue: http://code.google.com/p/hledger/issues/detail?id=19

@simonmichael
Owner

From simon@joyful.com on February 16, 2010 04:37:26
My "fix a tricky mixedamount arithmetic bug" patch on 2009/11/25 changed
amountop's doc from:

Apply a binary arithmetic operator to two amounts - converting to the
second one's commodity, adopting the lowest precision...

to:

Apply a binary arithmetic operator to two amounts, converting to the
second one's commodity (and display precision)...

but did not change any code to effect this change as far as I can tell.

That aside, during add I think we should assume trailing zeroes on all amounts and a
display precision equal to the highest precision so far entered in this transaction.

@simonmichael
Owner

From simon@joyful.com on February 16, 2010 05:24:10
Fixed in darcs, though amount code refactoring is getting more urgent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment