[GNC] Decimal Precision Entering Mutual Fund Transactions

Robin Chattopadhyay robinraymn at gmail.com
Sun Oct 24 17:24:01 EDT 2021


Hi all-

SETUP:
Version 4.8 (plus the commit to fix Bug 798327)
OS: Ubuntu 20.04 LTS

SCENARIO:
My wife recently started a new job where the 401k provider maintains the
mutual fund positions at nine decimal places (and the price is two decimal
places precision). I set up the security with the fraction traded set to
1*10^9, I set up the account's fraction traded to 'Use Commodity Value'

When entering a transaction into the register directly with the full nine
decimal places, GnuCash cuts off the last digit and appears to only save up
to the 8th significant digit thus introducing a small (but annoying)
position difference between my books and the recordkeeper.

However, if I import the transactions from the OFX file downloaded from the
recordkeeper's website, the full nine digits are imported and displayed in
the register.

Another related item is that the share amount displayed changes from 9
digits to 8 digits back to 9 when moving between transactions. For example,
a transaction with 4.008105604 shares shows 4.0081056 as long as that
transaction has the focus.

The workaround for now appears to only import transactions from the OFX
file, which is fine but it does seem weird to have this inconsistent
experience.

I glanced through Register-related bugs but I didn't see anything that
jumped out at me as an open existing bug that would explain this behavior.
(I'll concede that my search may have been lacking because previous
discussion on this list related to precision and integer math have gone
over my head)


More information about the gnucash-user mailing list