mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-08 15:14:49 +03:00
c31710d942
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
|
|
|