Amount display styles have been reworked a bit; they are now calculated after journal parsing, not during it. This allows the fix for #196: we now search through the amounts until a decimal point is detected, instead of just looking at the first one; likewise for digit groups. Digit groups are now implemented with a better type. Digit group size detection has been improved a little: 1000,000 now gives group sizes [3,4,4,...], not [3,3,...], and 10,000 gives groups sizes [3,3,...] not [3,2,2,..]. (To get [3,2,2,...] you'd use eg 00,00,000.) There are still some old (or new ?) issues; I don't think we handle inconsistent decimal points & digit groups too well. But for now all tests pass.
		
			
				
	
	
		
			75 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # a default commodity defined with the D directive will be used for any
 | |
| # subsequent commodity-less posting amounts. The sample amount's display style
 | |
| # is also applied, and the resulting amount may end up setting the canonical
 | |
| # display style for the commodity.
 | |
| 
 | |
| # 1. no default commodity
 | |
| hledgerdev -f- print
 | |
| <<<
 | |
| 2010/1/1
 | |
|   a  1000
 | |
|   b
 | |
| >>>
 | |
| 2010/01/01
 | |
|     a          1000
 | |
|     b         -1000
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| # 2. pound, two decimal places, no digit group separator
 | |
| hledgerdev -f- print
 | |
| <<<
 | |
| D £1000.00
 | |
| 2010/1/1
 | |
|   a  1000
 | |
|   b
 | |
| >>>
 | |
| 2010/01/01
 | |
|     a      £1000.00
 | |
|     b     £-1000.00
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| # 3. dollar, comma decimal point, three decimal places, no digit group separator
 | |
| hledgerdev -f- print
 | |
| <<<
 | |
| D $1,000
 | |
| 2010/1/1
 | |
|   a  1000
 | |
|   b
 | |
| >>>
 | |
| 2010/01/01
 | |
|     a     $1000,000
 | |
|     b    $-1000,000
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| # 4. dollar, three digit group separator, one decimal place
 | |
| hledgerdev -f- print
 | |
| <<<
 | |
| D $1,000.0
 | |
| 2010/1/1
 | |
|   (a)  1000000
 | |
| >>>
 | |
| 2010/01/01
 | |
|     (a)  $1,000,000.0
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| # 5. commodity and display style applied to the second posting amount..
 | |
| # which ends up setting the digit group style, since it's the first amount
 | |
| # with digit groups. The great precision is used.
 | |
| hledgerdev -f- print
 | |
| <<<
 | |
| D $1,000.0
 | |
| 2010/1/1
 | |
|   (a)  $1000000.00
 | |
|   (b)   1000000
 | |
| >>>
 | |
| 2010/01/01
 | |
|     (a)  $1,000,000.00
 | |
|     (b)  $1,000,000.00
 | |
| 
 | |
| >>>=0
 | |
| 
 |