Solved a portion of it. I was checking the output not input: *$ grep ".\d\d\d" 2013.led *
turned up a typo with $3.0000 as an amount. That caused the extra spaces in the report. Still playing with --display-amount On Friday, August 23, 2013 4:08:17 PM UTC-7, Charles Merriam wrote: > > Er, ok. > > I now have an answer saying "ledger uses floats; you are hosed." and > "ledger does not use floats; you are hosed". > > Is there a way to use the -d option to fix this? > > Charles > > On Friday, August 23, 2013 11:15:00 AM UTC-7, John Wiegley wrote: >> >> >>>>> Jeffrey Brent McBeth <[email protected]> writes: >> >> > On Thu, Aug 22, 2013 at 09:53:26PM -0700, Charles Merriam wrote: >> >> It's a nice idea. I have no four digit amounts; this gives no output. >> >> >> ledger -w -f 2013.led register | grep "\.\d\d[1-9]" My guess is >> ledger is >> >> doing floats instead of paired fixed precision, so some amount doesn't >> >> represent well in IEEE exactly, triggers the longer field, and then >> rounds >> >> back to zero ten-thousandths of a penny anyway. >> >> > The ledger docs are pretty explicit in the fact that they use floats >> for >> > amounts. I just grepped through the code, and there are astoundingly >> few >> > instances of the word float or double in the code, and they appear at >> first >> > blush to all be related to size calculations rather than storing any >> > amounts. >> >> Ledger *NEVER* uses floats for monetary values, but only for imprecise >> things >> where loss of precision does not matter. Rather, Ledger uses >> infinite-precision rational numbers, which are rendered to floating-point >> at >> display time, in order to round the value to a fixed number of decimal >> places. >> >> This is actually problematical if you want to do "fixed-point >> accounting", >> which rounded amounts are intentionally shaved; but it is a benefit if >> you >> wish to never lose track of fractions of commodities, no matter how >> small. >> >> John >> > -- --- You received this message because you are subscribed to the Google Groups "Ledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
