close: don't strip decimal zeros, causing misparsing (fix #1137)
This commit is contained in:
		
							parent
							
								
									279e9624ed
								
							
						
					
					
						commit
						5b6dbe86b3
					
				| @ -49,9 +49,8 @@ close CliOpts{rawopts_=rawopts, reportopts_=ropts} j = do | |||||||
|       balancingamt = negate $ sum $ map (\(_,_,_,b) -> normaliseMixedAmount b) acctbals |       balancingamt = negate $ sum $ map (\(_,_,_,b) -> normaliseMixedAmount b) acctbals | ||||||
| 
 | 
 | ||||||
|       -- since balance assertion amounts are required to be exact, the |       -- since balance assertion amounts are required to be exact, the | ||||||
|       -- amounts in opening/closing transactions should be too (#941) |       -- amounts in opening/closing transactions should be too (#941, #1137) | ||||||
|       -- setprec = setFullPrecision |       setprec = setFullPrecision | ||||||
|       setprec = setNaturalPrecision |  | ||||||
|       -- balance assertion amounts will be unpriced (#824) |       -- balance assertion amounts will be unpriced (#824) | ||||||
|       -- only the last posting in each commodity will have a balance assertion (#1035) |       -- only the last posting in each commodity will have a balance assertion (#1035) | ||||||
|       closingps = [posting{paccount          = a |       closingps = [posting{paccount          = a | ||||||
|  | |||||||
| @ -189,6 +189,8 @@ $ hledger -f- close assets -p 2019 | |||||||
| >=0 | >=0 | ||||||
| 
 | 
 | ||||||
| # 8. Closing a multi-priced balance, a more complex example. | # 8. Closing a multi-priced balance, a more complex example. | ||||||
|  | # Decimal places specified by the amount display style should not be stripped | ||||||
|  | # even if they are zeros (#1137). | ||||||
| < | < | ||||||
| 2016/01/31 | 2016/01/31 | ||||||
|     liabilities:employer                      $5,000.00 |     liabilities:employer                      $5,000.00 | ||||||
| @ -210,32 +212,28 @@ $ hledger -f- close assets -p 2019 | |||||||
|     assets:bank                                2,836.00 EUR |     assets:bank                                2,836.00 EUR | ||||||
|     liabilities:employer |     liabilities:employer | ||||||
| 
 | 
 | ||||||
| ; Note: without these declarations, the closing/opening entries below |  | ||||||
| ; would cause decimal marks to be misparsed. (How ?) |  | ||||||
| ;commodity $1,000.00 |  | ||||||
| ;commodity 1,000.00 EUR |  | ||||||
| 
 |  | ||||||
| $ hledger -f- close -p 2016 assets liabilities | $ hledger -f- close -p 2016 assets liabilities | ||||||
| 2016/12/31 closing balances | 2016/12/31 closing balances | ||||||
|     assets:bank                       -5,733 EUR = 0 EUR |     assets:bank                       -5,733.00 EUR = 0.00 EUR | ||||||
|     liabilities:employer                $-10,000 |     liabilities:employer                $-10,000.00 | ||||||
|     liabilities:employer       $5,000 @ 0.93 EUR |     liabilities:employer       $5,000.00 @ 0.93 EUR | ||||||
|     liabilities:employer       $5,000 @ 0.95 EUR = $0 |     liabilities:employer       $5,000.00 @ 0.95 EUR = $0.00 | ||||||
|     liabilities:employer                  -1 EUR = 0 EUR |     liabilities:employer                  -1.00 EUR = 0.00 EUR | ||||||
|     equity:closing balances           $10,000.00 |     equity:closing balances              $10,000.00 | ||||||
|     equity:closing balances    $-5,000.00 @ 0.93 EUR |     equity:closing balances    $-5,000.00 @ 0.93 EUR | ||||||
|     equity:closing balances    $-5,000.00 @ 0.95 EUR |     equity:closing balances    $-5,000.00 @ 0.95 EUR | ||||||
|     equity:closing balances         5,734.00 EUR |     equity:closing balances            5,734.00 EUR | ||||||
| 
 | 
 | ||||||
| 2017/01/01 opening balances | 2017/01/01 opening balances | ||||||
|     assets:bank                         5,733 EUR = 5,733 EUR |     assets:bank                         5,733.00 EUR = 5,733.00 EUR | ||||||
|     liabilities:employer                  $10,000 |     liabilities:employer                  $10,000.00 | ||||||
|     liabilities:employer       $-5,000 @ 0.93 EUR |     liabilities:employer       $-5,000.00 @ 0.93 EUR | ||||||
|     liabilities:employer       $-5,000 @ 0.95 EUR = $0 |     liabilities:employer       $-5,000.00 @ 0.95 EUR = $0.00 | ||||||
|     liabilities:employer                    1 EUR = 1 EUR |     liabilities:employer                    1.00 EUR = 1.00 EUR | ||||||
|     equity:opening balances           $-10,000.00 |     equity:opening balances              $-10,000.00 | ||||||
|     equity:opening balances    $5,000.00 @ 0.93 EUR |     equity:opening balances     $5,000.00 @ 0.93 EUR | ||||||
|     equity:opening balances    $5,000.00 @ 0.95 EUR |     equity:opening balances     $5,000.00 @ 0.95 EUR | ||||||
|     equity:opening balances         -5,734.00 EUR |     equity:opening balances            -5,734.00 EUR | ||||||
| 
 | 
 | ||||||
| >=0 | >=0 | ||||||
|  | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user