// per line.
//
// Field names:
-// H = ICU4J 58 (archive)
// J = ICU4J (current)
// K = JDK (ignored if not OpenJDK 1.8)
// C = ICU4C (current)
set pattern +0;-#
begin
format output breaks
-6 \u061C+\u0666 HK
+6 \u061C+\u0666 K
-6 \u061C-\u0666 K
test basic patterns
// JDK gives 12,3001E3
##0.000#E0 12300.1 12,30E3 K
##0.000#E0 12301 12,301E3
-0.05E0 12301.2 1,25E4 HK
+0.05E0 12301.2 1,25E4 K
##0.000#E0 0.17 170,0E-3
// JDK doesn't support significant digits in exponents
@@@E0 6.235 6,24E0 K
####,##0$*x;n#'*' -1234 n1\u202f234*xx K
*y%4.2###### 4.33 yyyy%432,6 K
// In J ICU adds padding as if 'EUR' is only 2 chars (2 * 0xa4)
-\u00a4\u00a4 **####0.00 433.0 EUR *433,00 HK
-// In H ICU adds padding as if 'EUR' is only 2 chars (2 * 0xa4)
+\u00a4\u00a4 **####0.00 433.0 EUR *433,00 K
// P fails this one because the test code bypasses CurrencyUsage
-\u00a4\u00a4 **#######0 433.0 EUR *433,00 HKP
+\u00a4\u00a4 **#######0 433.0 EUR *433,00 KP
test padding and currencies
begin
locale currency pattern format output breaks
// In J, JPY is considered 2 char (2 * 0xa4) even though padding is done
// after prefix. In C this test works.
-fr JPY \u00a4\u00a4 **#######0 433.22 JPY ****433 HK
+fr JPY \u00a4\u00a4 **#######0 433.22 JPY ****433 K
// JDK doesn't correct rounding for currency, shows USD (433
en USD \u00a4\u00a4 **#######0;\u00a4\u00a4 (#) -433.22 USD (433.22) K
set minGroupingDigits 2
begin
format output breaks
-// min grouping digits not supported in any existing implementation
-// but could be easily added to the new DecimalFormat C code.
-1000 1000 HK
+1000 1000 K
10000 10,000
100000 100,000
1000000 1,000,000
// JDK gives E0 instead of allowing for unlimited precision
0 0 0 0 2.99792458E8 K
// J gives 2.9979E8
-0 1 0 5 2.99792E8 HK
+0 1 0 5 2.99792E8 K
// JDK gives 300E6
0 3 0 0 299.792458E6 K
// JDK gives 299.8E6 (maybe maxInt + maxFrac instead of minInt + maxFrac)?
// JDK gives E0
0 0 1 0 2.99792458E8 K
// J gives 2.998E8
-0 0 0 4 .29979E9 HK
+0 0 0 4 .29979E9 K
// According to the spec, if maxInt>minInt and minInt>1, then set
// Context: #13289
2 8 1 6 2.9979246E8 K
format maxIntegerDigits output breaks
123 1 3
// C obeys maxIntegerDigits and prints after the decimal place
-0 0 .0 HKP
+0 0 .0 KP
// CJP ignore max integer if it is less than zero and prints "123"
123 -2147483648 0 CJP
12345 1 5
output grouping grouping2 minGroupingDigits breaks
1,23,45,6789 4 2 2 K
123,456789 6 6 3
-123456789 6 6 4 HK
+123456789 6 6 4 K
test multiplier setters
set locale en_US
format multiplier output breaks
23 -12 -276
23 -1 -23
-// H (ICU4J 58) and J (current ICU4J) throw exception on zero multiplier.
+// J (current ICU4J) throws exception on zero multiplier.
// ICU4C prints 23.
// Q multiplies by zero and prints 0.
-23 0 0 CHJ
+23 0 0 CJ
23 1 23
23 12 276
-23 12 -276
currency currencyUsage toPattern breaks
// These work in J, but it prepends an extra hash sign to the pattern.
// K does not support this feature.
-USD standard 0.00 HK
-CHF standard 0.00 HK
-CZK standard 0.00 HK
-USD cash 0.00 HK
-CHF cash 0.05 HK
-CZK cash 0 HK
+USD standard 0.00 K
+CHF standard 0.00 K
+CZK standard 0.00 K
+USD cash 0.00 K
+CHF cash 0.05 K
+CZK cash 0 K
test currency rounding
set locale en
-Inf (\u221e) K
// J does not print the affixes
// K prints \uFFFD
-NaN [NaN] HK
+NaN [NaN] K
test nan and infinity with multiplication
set locale en
Inf afterSuffix $$$\u221e$ K
// J does not print the affixes
// K prints \uFFFD
-NaN beforePrefix $$$NaN$ HK
-NaN afterPrefix $$$ NaN$ HK
-NaN beforeSuffix $$$NaN $ HK
-NaN afterSuffix $$$NaN$ HK
+NaN beforePrefix $$$NaN$ K
+NaN afterPrefix $$$ NaN$ K
+NaN beforeSuffix $$$NaN $ K
+NaN afterSuffix $$$NaN$ K
test apply formerly localized patterns
begin
pattern toPattern breaks
// All of the C and S failures in this section are because of functionally equivalent patterns
// JDK doesn't support any patterns with padding or both negative prefix and suffix
-// Breaks ICU4J See ticket 11671
-**0,000 **0,000 HK
+**0,000 **0,000 K
**##0,000 **##0,000 K
**###0,000 **###0,000 K
**####0,000 **#,##0,000 CJKP
+5347,,, 5347
+5347,,,d8 5347
(5,347.25) -5347.25
-// H requires prefix and suffix for lenient parsing, but C doesn't
-5,347.25 5347.25 HK
-(5,347.25 -5347.25 H
+5,347.25 5347.25 K
+(5,347.25 -5347.25
// S is successful at parsing this as -5347.25 in lenient mode
--5,347.25 -5347.25 HK
+-5,347.25 -5347.25 K
+3.52E4 35200
(34.8E-3) -0.0348
// JDK stops parsing at the spaces. JDK doesn't see space as a grouping separator
(34 25E-1) -342.5 K
(34,,25E-1) -342.5
// Trailing grouping separators are not OK.
-// H fails; C/J/P stop at the offending separator.
+// C/J/P stop at the offending separator.
(34,,25,E-1) fail CJKP
-(34,,25,E-1) -3425 HK
-(34 25 E-1) -342.5 HK
-(34,,25 E-1) -342.5 HK
+(34,,25,E-1) -3425 K
+(34 25 E-1) -342.5 K
+(34,,25 E-1) -342.5 K
// Spaces are not allowed after exponent symbol
-// C parses up to the E but H bails
-(34 25E -1) -3425 HK
+// C parses up to the E
+(34 25E -1) -3425 K
+3.52EE4 3.52
+1,234,567.8901 1234567.8901
+1,23,4567.8901 1234567.8901
+ 79 79 K
+,79,,20,33 792033
+7920d3 7920
-// Whitespace immediately after prefix doesn't count as digit separator
-// in C but is does in H
-+ ,79,,20,33 792033 HK
+// Whitespace immediately after prefix doesn't count as digit separator in C
++ ,79,,20,33 792033 K
( 19 45) -1945 K
// C allows trailing separators when there is a prefix and suffix.
-// H allows trailing separators only when there is just a prefix.
-// In this case, H just bails
-( 19 45 ) -1945 HK
+( 19 45 ) -1945 K
(,,19,45) -1945
-// C parses to the space, but H bails
-(,,19 45) -19 H
-// H bails b/c comma different separator than space. C doesn't treat leading spaces
-// as a separator.
-( 19,45) -1945 HK
-// H bails. Doesn't allow trailing separators when there is prefix and suffix.
-(,,19,45,) -1945 H
-// H bails on next 4 because H doesn't allow letters inside prefix and suffix.
+// C parses to the spaces
+(,,19 45) -19
+( 19,45) -1945 K
+(,,19,45,) -1945
// C will parse up to the letter.
-(,,19,45,d1) -1945 H
-(,,19,45d1) -1945 H
-( 19 45 d1) -1945 HK
-( 19 45d1) -1945 HK
-// H does allow trailing separator before a decimal point
+(,,19,45,d1) -1945
+(,,19,45d1) -1945
+( 19 45 d1) -1945 K
+( 19 45d1) -1945 K
(19,45,.25) -1945.25
// 2nd decimal points are ignored
+4.12.926 4.12
begin
parse output breaks
// J and K just bail.
-3426 3426 HK
+3426 3426 K
3426+ 3426
// J bails; K sees -34
-34 d1+ 34 HK
+34 d1+ 34 K
// JDK sees this as -1234 for some reason
-// H bails b/c of trailing separators
-1,234,,,+ 1234 HK
+1,234,,,+ 1234 K
1,234- -1234
-// H, C, and P bail because of trailing separators
-1,234,- -1234 CHJP
-// J bails here too
-1234 - -1234 H
+// C and P bail because of trailing separators
+1,234,- -1234 CJP
+1234 - -1234
(3425E-1) -342.5
// Strict doesn't allow separators in sci notation.
(63,425) -63425
-// H does not allow grouping separators in scientific notation.
-(63,425E-1) -6342.5 H
+(63,425E-1) -6342.5
// Both prefix and suffix needed for strict.
// JDK accepts this and parses as -342.5
(3425E-1 fail K
+1,234.5 1234.5
// Comma after decimal means parse to a comma
+1,23,456.78,9 123456.78
-// H fails upon seeing the second decimal point
-+1,23,456.78.9 123456.78 H
++1,23,456.78.9 123456.78
+79 79
+79 79
+ 79 fail
begin
parse output breaks
35 35
-// S accepts leading plus signs
-+35 35 HK
++35 35 K
-35 -35
2.63 2
-39.99 -39
0 5e2 500 K
0 5.3E2 530
// See ticket 11725
-1 5e2 5 H
-1 5.3E2 5.3 HK
+1 5e2 5
+1 5.3E2 5.3 K
test parse currency fail
set pattern 0
parse output breaks
// A non-greedy parse is required to pass these cases.
// All of the implementations being tested are greedy.
-6549K 654 CHJKP
-6549N -654 CHJKP
+6549K 654 CJKP
+6549N -654 CJKP
test really strange prefix
set locale en
$53.45 53.45 USD C
53.45 USD 53.45 USD
53.45 GBP 53.45 GBP
-USD 53.45 53.45 USD H
-53.45USD 53.45 USD H
+USD 53.45 53.45 USD
+53.45USD 53.45 USD
USD53.45 53.45 USD
(7.92) USD -7.92 USD
(7.92) GBP -7.92 GBP
(7.926) USD -7.926 USD
-(7.926 USD) -7.926 USD H
-(USD 7.926) -7.926 USD H
-USD (7.926) -7.926 USD H
-USD (7.92) -7.92 USD H
-(7.92)USD -7.92 USD H
-USD(7.92) -7.92 USD H
+(7.926 USD) -7.926 USD
+(USD 7.926) -7.926 USD
+USD (7.926) -7.926 USD
+USD (7.92) -7.92 USD
+(7.92)USD -7.92 USD
+USD(7.92) -7.92 USD
(8) USD -8 USD
-8 USD -8 USD
67 USD 67 USD
-53.45$ 53.45 USD CH
-US Dollars 53.45 53.45 USD H
+53.45$ 53.45 USD C
+US Dollars 53.45 53.45 USD
53.45 US Dollars 53.45 USD
-US Dollar 53.45 53.45 USD H
+US Dollar 53.45 53.45 USD
53.45 US Dollar 53.45 USD
US Dollars53.45 53.45 USD
-53.45US Dollars 53.45 USD H
+53.45US Dollars 53.45 USD
US Dollar53.45 53.45 USD
US Dollat53.45 fail USD
-53.45US Dollar 53.45 USD H
-US Dollars (53.45) -53.45 USD H
+53.45US Dollar 53.45 USD
+US Dollars (53.45) -53.45 USD
(53.45) US Dollars -53.45 USD
(53.45) Euros -53.45 EUR
-US Dollar (53.45) -53.45 USD H
+US Dollar (53.45) -53.45 USD
(53.45) US Dollar -53.45 USD
-US Dollars(53.45) -53.45 USD H
-(53.45)US Dollars -53.45 USD H
-US Dollar(53.45) -53.45 USD H
+US Dollars(53.45) -53.45 USD
+(53.45)US Dollars -53.45 USD
+US Dollar(53.45) -53.45 USD
US Dollat(53.45) fail USD
-(53.45)US Dollar -53.45 USD H
+(53.45)US Dollar -53.45 USD
test parse currency ISO negative
$53.45 53.45 USD C
53.45 USD 53.45 USD
53.45 GBP 53.45 GBP
-USD 53.45 53.45 USD H
-53.45USD 53.45 USD H
+USD 53.45 53.45 USD
+53.45USD 53.45 USD
USD53.45 53.45 USD
-7.92 USD -7.92 USD
-7.92 GBP -7.92 GBP
-7.926 USD -7.926 USD
-USD -7.926 -7.926 USD H
--7.92USD -7.92 USD H
-USD-7.92 -7.92 USD H
+USD -7.926 -7.926 USD
+-7.92USD -7.92 USD
+USD-7.92 -7.92 USD
-8 USD -8 USD
67 USD 67 USD
-53.45$ 53.45 USD CH
-US Dollars 53.45 53.45 USD H
+53.45$ 53.45 USD C
+US Dollars 53.45 53.45 USD
53.45 US Dollars 53.45 USD
-US Dollar 53.45 53.45 USD H
+US Dollar 53.45 53.45 USD
53.45 US Dollar 53.45 USD
US Dollars53.45 53.45 USD
-53.45US Dollars 53.45 USD H
+53.45US Dollars 53.45 USD
US Dollar53.45 53.45 USD
US Dollat53.45 fail USD
-53.45US Dollar 53.45 USD H
+53.45US Dollar 53.45 USD
test parse currency long
set locale en_GB
begin
parse output outputCurrency breaks
-// H throws a NullPointerException on the first case
53.45 fail GBP
£53.45 53.45 GBP
$53.45 53.45 USD C
53.45 USD 53.45 USD
53.45 GBP 53.45 GBP
-USD 53.45 53.45 USD H
-53.45USD 53.45 USD H
+USD 53.45 53.45 USD
+53.45USD 53.45 USD
USD53.45 53.45 USD
(7.92) USD -7.92 USD
(7.92) GBP -7.92 GBP
(7.926) USD -7.926 USD
-(7.926 USD) -7.926 USD H
-(USD 7.926) -7.926 USD H
-USD (7.926) -7.926 USD H
-USD (7.92) -7.92 USD H
-(7.92)USD -7.92 USD H
-USD(7.92) -7.92 USD H
+(7.926 USD) -7.926 USD
+(USD 7.926) -7.926 USD
+USD (7.926) -7.926 USD
+USD (7.92) -7.92 USD
+(7.92)USD -7.92 USD
+USD(7.92) -7.92 USD
(8) USD -8 USD
-8 USD -8 USD
67 USD 67 USD
-// H throws a NullPointerException on the next case
-53.45$ 53.45 USD CH
-US Dollars 53.45 53.45 USD H
+53.45$ 53.45 USD C
+US Dollars 53.45 53.45 USD
53.45 US Dollars 53.45 USD
-US Dollar 53.45 53.45 USD H
+US Dollar 53.45 53.45 USD
53.45 US Dollar 53.45 USD
US Dollars53.45 53.45 USD
-53.45US Dollars 53.45 USD H
+53.45US Dollars 53.45 USD
US Dollar53.45 53.45 USD
US Dollat53.45 fail USD
-53.45US Dollar 53.45 USD H
+53.45US Dollar 53.45 USD
test parse currency short
$53.45 53.45 USD C
53.45 USD 53.45 USD
53.45 GBP 53.45 GBP
-USD 53.45 53.45 USD H
-53.45USD 53.45 USD H
+USD 53.45 53.45 USD
+53.45USD 53.45 USD
USD53.45 53.45 USD
(7.92) USD -7.92 USD
(7.92) GBP -7.92 GBP
(7.926) USD -7.926 USD
-(7.926 USD) -7.926 USD H
-(USD 7.926) -7.926 USD H
-USD (7.926) -7.926 USD H
-USD (7.92) -7.92 USD H
-(7.92)USD -7.92 USD H
-USD(7.92) -7.92 USD H
+(7.926 USD) -7.926 USD
+(USD 7.926) -7.926 USD
+USD (7.926) -7.926 USD
+USD (7.92) -7.92 USD
+(7.92)USD -7.92 USD
+USD(7.92) -7.92 USD
(8) USD -8 USD
-8 USD -8 USD
67 USD 67 USD
-53.45$ 53.45 USD CH
-US Dollars 53.45 53.45 USD H
+53.45$ 53.45 USD C
+US Dollars 53.45 53.45 USD
53.45 US Dollars 53.45 USD
-US Dollar 53.45 53.45 USD H
+US Dollar 53.45 53.45 USD
53.45 US Dollar 53.45 USD
US Dollars53.45 53.45 USD
-53.45US Dollars 53.45 USD H
+53.45US Dollars 53.45 USD
US Dollar53.45 53.45 USD
US Dollat53.45 fail USD
-53.45US Dollar 53.45 USD H
+53.45US Dollar 53.45 USD
test parse currency short prefix
$53.45 53.45 USD C
53.45 USD 53.45 USD
53.45 GBP 53.45 GBP
-USD 53.45 53.45 USD H
-53.45USD 53.45 USD H
+USD 53.45 53.45 USD
+53.45USD 53.45 USD
USD53.45 53.45 USD
// C and P fail these because '(' is an incomplete prefix.
-(7.92) USD -7.92 USD CHJP
-(7.92) GBP -7.92 GBP CHJP
-(7.926) USD -7.926 USD CHJP
-(7.926 USD) -7.926 USD CHJP
-(USD 7.926) -7.926 USD H
-USD (7.926) -7.926 USD CHJP
-USD (7.92) -7.92 USD CHJP
-(7.92)USD -7.92 USD CHJP
-USD(7.92) -7.92 USD CHJP
-(8) USD -8 USD CHJP
+(7.92) USD -7.92 USD CJP
+(7.92) GBP -7.92 GBP CJP
+(7.926) USD -7.926 USD CJP
+(7.926 USD) -7.926 USD CJP
+(USD 7.926) -7.926 USD
+USD (7.926) -7.926 USD CJP
+USD (7.92) -7.92 USD CJP
+(7.92)USD -7.92 USD CJP
+USD(7.92) -7.92 USD CJP
+(8) USD -8 USD CJP
-8 USD -8 USD
67 USD 67 USD
-53.45$ 53.45 USD CH
-US Dollars 53.45 53.45 USD H
+53.45$ 53.45 USD C
+US Dollars 53.45 53.45 USD
53.45 US Dollars 53.45 USD
-US Dollar 53.45 53.45 USD H
+US Dollar 53.45 53.45 USD
53.45 US Dollar 53.45 USD
US Dollars53.45 53.45 USD
-53.45US Dollars 53.45 USD H
+53.45US Dollars 53.45 USD
US Dollar53.45 53.45 USD
-53.45US Dollar 53.45 USD H
+53.45US Dollar 53.45 USD
test format foreign currency
set locale fa_IR
(7.92)USD fail USD
USD(7.92) fail USD
(8) USD -8 USD
--8 USD fail USD H
+-8 USD fail USD
67 USD 67 USD
53.45$ fail USD
US Dollars 53.45 fail USD
set maxFractionDigits 0
begin
format output breaks
--0.99 -0 HK
+-0.99 -0 K
test parse decimalPatternMatchRequired
set locale en
pattern parse output breaks
// K doesn't support this feature.
0 123 123
-0 123. fail HK
-0 1.23 fail HK
+0 123. fail K
+0 1.23 fail K
0 -513 -513
-0 -513. fail HK
-0 -5.13 fail HK
+0 -513. fail K
+0 -5.13 fail K
0.0 123 fail K
0.0 123. 123
0.0 1.23 1.23
begin
pattern parse output breaks
# -123 -123
-# - 123 -123 HK
-# -123 -123 HK
-# - 123 -123 HK
+# - 123 -123 K
+# -123 -123 K
+# - 123 -123 K
# 123- 123
# 123 - 123
#;#- 123- -123
-#;#- 123 - -123 HK
+#;#- 123 - -123 K
test parse case sensitive
set locale en
Aa1.23 1 1.23
Aa1.23 0 1.23
AA1.23 1 fail
-// H and K do not support case-insensitive parsing for prefix/suffix.
-// H supports it for the exponent separator, but not K.
-AA1.23 0 1.23 HK
+// K does not support case-insensitive parsing for prefix/suffix.
+AA1.23 0 1.23 K
aa1.23 1 fail
-aa1.23 0 1.23 HK
+aa1.23 0 1.23 K
Aa1.23E3 1 1230
Aa1.23E3 0 1230
-Aa1.23e3 1 1.23 H
+Aa1.23e3 1 1.23
Aa1.23e3 0 1230 K
NaN 1 NaN K
NaN 0 NaN K
nan 1 fail
-nan 0 NaN HK
+nan 0 NaN K
test parse infinity and scientific notation overflow
set locale en
-1E-99999999999999 -0.0
1E2147483648 Inf K
1E2147483647 Inf K
-// H, J and K get Infinity
-1E2147483646 1E+2147483646 HJK
+// J and K get Infinity
+1E2147483646 1E+2147483646 JK
1E-2147483649 0
1E-2147483648 0
-// H and K return zero here
-1E-2147483647 1E-2147483647 HJK
-1E-2147483646 1E-2147483646 HJK
+// K returns zero here
+1E-2147483647 1E-2147483647 JK
+1E-2147483646 1E-2147483646 JK
test format push limits
set locale en
pattern lenient parse output breaks
// Groups after the first group need 2 digits to be accepted.
// JDK does not see space as grouping and parses most of these as 9.
-#,##0 1 9 9 9 H
+#,##0 1 9 9 9
#,##0 1 9 99 999 K
#,##0 1 9 999 9999 K
-#,##0 1 9 9 9 9 H
+#,##0 1 9 9 9 9
#,##0 1 ,9 9
#,##0 1 99,.0 99
-#,##0 1 9 9. 9 H
+#,##0 1 9 9. 9
#,##0 1 9 99. 999 K
0 1 9 9 9
0 1 9 99 9
x ab56c df 56
x ab56c df 56 K
x ab56c df 56 K
-x ab56c df 56 HK
+x ab56c df 56 K
x ab56c df 56 K
-x ab56 56 HK
-x a b56 56 HK
-56cdf 56 HK
-56c df 56 HK
-56cd f 56 HK
-56cdf 56 HK
-56cdf 56 HK
-56c df 56 HK
-56c df 56 HK
+x ab56 56 K
+x a b56 56 K
+56cdf 56 K
+56c df 56 K
+56cd f 56 K
+56cdf 56 K
+56cdf 56 K
+56c df 56 K
+56c df 56 K
y gh56i jk -56
y gh56i jk -56 K
y gh56i jk -56 K
-y gh56i jk -56 HK
+y gh56i jk -56 K
y gh56i jk -56 K
-y gh56 -56 HK
-y g h56 -56 HK
+y gh56 -56 K
+y g h56 -56 K
// S stops parsing after the 'i' for these and returns -56
// C stops before the 'i' and gets 56
-56ijk -56 HK
-56i jk -56 HK
-56ij k -56 HK
-56ijk -56 HK
-56ijk -56 HK
-56i jk -56 HK
-56i jk -56 HK
-// S and C get 56 (accepts ' ' gs grouping); H and K get null
+56ijk -56 K
+56i jk -56 K
+56ij k -56 K
+56ijk -56 K
+56ijk -56 K
+56i jk -56 K
+56i jk -56 K
+// S and C get 56 (accepts ' ' gs grouping); K gets null
5 6 fail CJP
-56 5 HK
+56 5 K
test parse spaces in grouping
// This test gives the ideal behavior of these cases, which
set pattern #,##0
begin
parse output breaks
-1 2 1 H
+1 2 1
1 23 123 K
// K gets 1 here; doesn't pick up the grouping separator
1 234 1234 K
// C and J get "1"
// P gets "1.0"
// K gets "1.1" (??)
-0.975 0.98 CHJKP
+0.975 0.98 CJKP
test lenient parse currency match
// This test is for #13112
set pattern ¤#,##0.00
begin
parse output breaks
-// H and K get null
-1.23!@#$%^ 1.23 HK
+// K gets null
+1.23!@#$%^ 1.23 K
test percentage parsing multiplier
// This test is for #13114
begin
parse output breaks
55% 0.55
-// H and K get null
+// K gets null
// C and P scale by 100 even if the percent sign is not present
-55 0.55 HK
+55 0.55 K
test trailing grouping separators in pattern
// This test is for #13115
pattern format output breaks
0 -15 -15
0; -15 -15
-// H and K still prepend a '-' even though the pattern says otherwise
-0;0 -15 15 HK
+// K still prepends a '-' even though the pattern says otherwise
+0;0 -15 15 K
test percentage multiplier parsing
// This test is for #13129
set signAlwaysShown 1
begin
format output breaks
-// H and K do not support this feature
-42 +42 HK
-0 +0 HK
+// K does not support this feature
+42 +42 K
+0 +0 K
-42 -42
test parse strict with plus sign
lenient parse output breaks
1 42 42
1 -42 -42
-1 +42 42 HK
+1 +42 42 K
1 0 0
-1 +0 0 HK
-0 42 fail HK
+1 +0 0 K
+0 42 fail K
0 -42 -42
-0 +42 42 HK
-0 0 fail HK
-0 +0 0 HK
+0 +42 42 K
+0 0 fail K
+0 +0 0 K
test parse with scientific-separator-affix overlap
set locale en
begin
parse output breaks
USD123 123
-USD 123 123 HK
+USD 123 123 K
usd123 123 K
-usd 123 123 HK
+usd 123 123 K
Usd123 123 K
-Usd 123 123 HK
+Usd 123 123 K
// US$ is not used for US dollars in en-US
-US$123 fail H
+US$123 fail
us$123 fail
Us$123 fail
123 US dollars 123 K
begin
parse output outputCurrency breaks
USD123 123 USD
-USD 123 123 USD H
+USD 123 123 USD
usd123 123 USD
-usd 123 123 USD H
+usd 123 123 USD
Usd123 123 USD
-Usd 123 123 USD H
+Usd 123 123 USD
US$123 123 USD C
us$123 fail fail
Us$123 fail fail
123 us dollars 123 USD
GBP123 123 GBP
gbp123 123 GBP C
-British pounds 123 123 GBP H
-british POUNDS 123 123 GBP H
-
+British pounds 123 123 GBP
+british POUNDS 123 123 GBP
+test parse scientific with bidi marks
+begin
+locale parse output breaks
+en 4E\u200E+02 400 K
+en 4E+02 400 K
+he 4E\u200E+02 400 K
+he 4E+02 400 K