Open JP-Ellis opened 5 years ago
Would using Commodity equivalences (https://www.ledger-cli.org/3.0/doc/ledger3.html#Commodity-equivalences) be a feasible solution for this?
No, it wouldn't in general.
In the above example I don't use all decimal places and thus I could just not use the full precision (which would be equivalent to ignore the cents in all USD transactions).
But if for example I changed the ETH balance changed from ETH 0.556800000000000000
to ETH 0.556800000000000001
, then defining a new subdivision would not change the fact that I need such a large number of digits.
Although most currencies have 2 decimal places and perhaps up to 4 when trading, a large number of cryptocurrencies have a very large number of decimal places. Bitcoin for example has 8, and Ethereum (and a large number of coins based on Ethereum) have 18 decimal places. This is handled fine internal by Ledger; however, there are certain formatting issues.
Here is an example ledger:
Note that although ETH handles 18 decimal places of precision (and all transactions ultimately have this precision), various exchanges will differ in what precision they use/round to.
Here are a few issues what arise from such a large number of decimal places
[ ] Number format are very difficult to read. In the same way that we have thousands separator, it could be nice if we could have thousandths separators. This is a purely aesthetic issue, but one suggestion would be to use underscores:
ETH 1,000.123_456_789_123_456_789
.[ ] The balance sheet do not display correctly:
These are the only two places I've seen an issue so far, though I have not looked for many other places yet.