beancount / ledger2beancount

Ledger to Beancount text-based converter
GNU General Public License v3.0
79 stars 15 forks source link

hledger allows 1000. (number dot without number) #257

Closed tbm closed 2 years ago

tbm commented 2 years ago

@simonmichael posted this example in https://github.com/ledger/ledger/issues/2057

D 1000. A

2022-01-01
  (a)      1

l2b doesn't like 1000. as a number (neither does ledger btw).

This construct seems quite popular in hledger land, though:

09:05 < tbm> sm: interesting that 1000. is a valid number in hledger.  it's not in ledger
09:05 < tbm> sm: is that intentional
09:09 < sm> tbm, yes in directives like this which set the display style, we
     require always writing a decimal mark to declare what it is (, or .)
09:09 < sm> and if zero decimal places are wanted, then it's written like that
09:10 < sm> to be precise, that directive is setting display style (eg zero decimal
     places) and decimal mark for input parsing (.)
09:11 < tbm> sm: oh, I see
09:11 < tbm> sm: but it seems 1000. (. not followed by a number) is also allowed in transactions
09:11 < sm> (D and commodity do too many things, for hysterical/compatibility reasons)
09:11 < sm> sure, why not
09:12 < tbm> sm: I don't know.  Feels wrong. ;)  But true, Python allows it too
09:12 < sm> .1 is allowed