From 201f96741143b25530b18d74b616130ce1fd96f6 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Wed, 3 Feb 2021 18:11:44 -0800 Subject: [PATCH] print: show all decimal places in assertion/assignment amounts (#1465) Overriding the commodity style, per https://hledger.org/hledger.html#commodity-display-style. --- hledger-lib/Hledger/Data/Journal.hs | 3 ++- hledger/test/journal/amounts-and-commodities.test | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/hledger-lib/Hledger/Data/Journal.hs b/hledger-lib/Hledger/Data/Journal.hs index 732e9034e..4929407bd 100644 --- a/hledger-lib/Hledger/Data/Journal.hs +++ b/hledger-lib/Hledger/Data/Journal.hs @@ -981,7 +981,8 @@ journalApplyCommodityStyles j@Journal{jtxns=ts, jpricedirectives=pds} = fixtransaction t@Transaction{tpostings=ps} = t{tpostings=map fixposting ps} fixposting p = p{pamount=styleMixedAmount styles $ pamount p ,pbalanceassertion=fixbalanceassertion <$> pbalanceassertion p} - fixbalanceassertion ba = ba{baamount=styleAmount styles $ baamount ba} + -- balance assertion amounts are always displayed, eg by print, at full precision, per docs + fixbalanceassertion ba = ba{baamount=setFullPrecision $ styleAmount styles $ baamount ba} fixpricedirective pd@PriceDirective{pdamount=a} = pd{pdamount=styleAmountExceptPrecision styles a} -- | Get the canonical amount styles for this journal, whether (in order of precedence): diff --git a/hledger/test/journal/amounts-and-commodities.test b/hledger/test/journal/amounts-and-commodities.test index 8d84e9ec8..add90b0e3 100644 --- a/hledger/test/journal/amounts-and-commodities.test +++ b/hledger/test/journal/amounts-and-commodities.test @@ -195,3 +195,18 @@ $ hledger -f - print (b) 2.00 $ >= + +# Balance assertion amounts are always displayed at their full precision, +# overriding commodity styles. (#1465) +< +commodity A 1. + +2021-01-01 + (a) 0.001A + (a) 1.122A = 1.123A +$ hledger -f - print +2021-01-01 + (a) 0 + (a) A 1 = A 1.123 + +>=