Index: source/test/testdata/numberformattestspecification.txt |
diff --git a/source/test/testdata/numberformattestspecification.txt b/source/test/testdata/numberformattestspecification.txt |
deleted file mode 100644 |
index 375aa399fbe5fc54ec343dd4693aef4c2b290cba..0000000000000000000000000000000000000000 |
--- a/source/test/testdata/numberformattestspecification.txt |
+++ /dev/null |
@@ -1,1108 +0,0 @@ |
-// Copyright (C) 2015, International Business Machines |
-// Corporation and others. All Rights Reserved. |
-// |
-// This file is divided into test suites separated by whitespace. Each test |
-// suite starts with the name of the test followed by global field settings |
-// for that test suite. After the global settings, comes "begin", the |
-// per-test field names, and finally the test specific field values, 1 test |
-// per line. |
-// For more information on the format of this file, including all the available |
-// field names, please see |
-// https://docs.google.com/document/d/1T2P0p953_Lh1pRwo-5CuPVrHlIBa_wcXElG-Hhg_WHM/edit?usp=sharing |
- |
-test plus sign |
-set locale ar |
-set pattern +0;-# |
-begin |
-format output breaks |
-6 \u200F+\u0666 JK |
--6 \u200F-\u0666 JK |
- |
-test basic patterns |
-set locale fr_FR |
-set format 1234.567 |
-begin |
-pattern output |
-#,##0.## 1\u00a0234,57 |
-0.## 1234,57 |
-0 1235 |
-#,##0.### 1\u00a0234,567 |
-###0.###### 1234,567 |
-###0.0000# 1234,5670 |
-00000.0000 01234,5670 |
-#,##0.00 \u00a4 1\u00a0234,57 \u20ac |
-'tick''bitten '0.00 tick'bitten 1234,57 |
-'tick' 'bitten '0.00 tick bitten 1234,57 |
- |
- |
-test minimum and maximum fraction digits |
-set locale en |
-set minIntegerDigits 2 |
-set maxIntegerDigits 4 |
-set minFractionDigits 3 |
-set maxFractionDigits 5 |
-begin |
-format output |
-6 06.000 |
-6.000005 06.000 |
-6.000006 06.00001 |
-1002003004005 4005.000 |
--1002003004005 -4005.000 |
-12 12.000 |
-12345 2345.000 |
-72.1234 72.1234 |
- |
-test int64 |
-set locale en |
-begin |
-format output |
-1002003004005 1002003004005 |
--1002003004005 -1002003004005 |
- |
-test rounding |
-set locale fr |
-begin |
-pattern format output breaks |
-0.5 1.25 1,0 K |
-0.5 1.75 2,0 K |
-0.5 -1.25 -1,0 K |
-00.5 -1.75 -02,0 K |
-4 2.0 0 K |
-4 6.0 8 K |
-4 10.0 8 K |
-2.70 99.0 99,90 K |
-2.73 272.0 273,00 K |
-#,#3.70 104.0 1\u00a003,60 K |
- |
-test significant digits |
-set locale en |
-set pattern #,#@,@### |
-begin |
-format output breaks |
-7 7.0 K |
-23 23 K |
-100 100 K |
-1000 1000 K |
-10000 1,0000 K |
-10001 1,0001 K |
-10001.5 1,0002 K |
-1234567 1,23,4600 K |
--1234567 -1,23,4600 K |
-3.14159 3.1416 K |
- |
-test scientific notation |
-set locale fr |
-begin |
-pattern format output breaks |
-0.00E0 12345 1,23E4 |
-000.00E0 12300 123,00E2 |
-000.0#E0 12300 123,0E2 |
-000.0#E0 12300.1 123,0E2 |
-000.0#E0 12301.0 123,01E2 |
-// JDK does not support exponent signs |
-000.0#E+00 12301.0 123,01E+02 K |
-// JDK gives 12,345E3. JDK seems to include the hashes in significant digits |
-##0.00E0 12345 12,3E3 K |
-// JDK gives 12,3001E3 |
-##0.0000E0 12300.1 12,300E3 K |
-// JDK gives 12,3001E3 |
-##0.000#E0 12300.1 12,30E3 K |
-##0.000#E0 12301 12,301E3 |
-0.05E0 12301.2 1,25E4 JK |
-##0.000#E0 0.17 170,0E-3 |
-// JDK doesn't support significant digits in exponents |
-@@@E0 6235 6,24E3 K |
-@@@#E0 6200 6,20E3 K |
-@@@#E0 6201 6,201E3 K |
-@@@#E0 6201.7 6,202E3 K |
-@@@#E00 6201.7 6,202E03 K |
-@@@#E+00 6201.7 6,202E+03 K |
- |
-test percents |
-set locale fr |
-begin |
-pattern format output breaks |
-0.0% 0.573 57,3% |
-%0.0 0.573 %57,3 |
-p%p0.0 0.573 p%p57,3 |
-p'%'p0.0 0.573 p%p0,6 |
-%@@@@ 0.0326 %3,260 K |
-%#,@@@ 15.43 %1\u00a0540 K |
-// JDK does not support rounding increments |
-%#,##4.1 16.55 %1\u00a0656,4 K |
-// JDK gives %16,255E3 |
-%##0.00E0 162.55 %16,3E3 K |
- |
-test permille |
-set locale fr |
-begin |
-pattern format output breaks |
-0.0\u2030 0.573 573,0‰ |
-\u20300.0 0.573 \u2030573,0 |
-p\u2030p0.0 0.573 p\u2030p573,0 |
-p'\u2030'p0.0 0.573 p\u2030p0,6 |
-\u2030@@@@ 0.0326 \u203032,60 K |
-\u2030#,@@@ 15.43 \u203015\u00a0400 K |
-\u2030#,##4.1 16.55 \u203016\u00a0551,7 K |
-// JDK gives \u2030162,55E3 |
-\u2030##0.00E0 162.55 \u2030163E3 K |
- |
-test padding |
-set locale fr_FR |
-begin |
-pattern format output breaks |
-// JDK does not seem to support padding |
-$**####,##0 1234 $***1\u00a0234 K |
-*x$####,##0 1234 xxx$1\u00a0234 K |
-####,##0*x$ 1234 1\u00a0234xxx$ K |
-####,##0$*x 1234 1\u00a0234$xxx K |
-// JDK doesn't seem to handle suffixes correctly dropping the 'nx' entirely |
-####,##0$*x;ne#n -1234 ne1\u00a0234nx K |
-####,##0$*x;n#'*' -1234 n1\u00a0234*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 JK |
-// In J ICU adds padding as if 'EUR' is only 2 chars (2 * 0xa4) |
-\u00a4\u00a4 **#######0 433.0 EUR *433,00 JK |
- |
-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 JK |
-// JDK doesn't correct rounding for currency, shows USD (433 |
-en USD \u00a4\u00a4 **#######0;\u00a4\u00a4 (#) -433.22 USD (433.22) K |
- |
-test currencies |
-set locale fr |
-set format 1234.567 |
-begin |
-pattern currency output breaks |
-// JDK gives shows EUR instead of the euro symbol in this case |
-#,##0.00 \u00a4 EUR 1\u00a0234,57 \u20ac K |
-// JDK gives 1\u00A0234,57. JDK doesn't seem to correct rounding |
-// based on currency. |
-#,##0.00 \u00a4 JPY 1\u00a0235 JPY K |
- |
-test prefixes and suffixes |
-set locale en |
-set pattern 0.00+;(#) |
-begin |
-format output breaks |
-7 7.00+ |
-// JDK does not support negative suffixes |
--3.5 (3.50) K |
- |
-test minimum grouping digits |
-set locale en |
-set pattern #,##0 |
-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 JK |
-10000 10,000 |
-100000 100,000 |
-1000000 1,000,000 |
- |
-test min max fraction digits |
-set locale en |
-set pattern #,##0.### |
-set format 1234.567 |
-begin |
-minFractionDigits maxFractionDigits output |
-0 0 1,235 |
-0 2 1,234.57 |
-4 5 1,234.5670 |
- |
-test min max integer digits |
-set locale en |
-set pattern #,##0.### |
-set format 1234.567 |
-begin |
-minIntegerDigits maxIntegerDigits output |
-0 0 .567 |
-0 3 234.567 |
-5 5 01,234.567 |
- |
-test min max fraction digits scientific |
-set locale en |
-set pattern #E0 |
-set format 299792458.0 |
-begin |
-minIntegerDigits maxIntegerDigits minFractionDigits maxFractionDigits output breaks |
-// JDK gives .3E9 instead of unlimited precision. |
-0 1 0 0 2.99792458E8 K |
-1 1 0 0 3E8 |
-// JDK gives E0 instead of allowing for unlimited precision |
-0 0 0 0 2.99792458E8 K |
-// JDK gives .299792E9 |
-0 1 0 5 2.9979E8 K |
-// JDK gives 300E6 |
-0 3 0 0 299.792458E6 K |
-// JDK gives 299.8E6 (maybe maxInt + maxFrac instead of minInt + maxFrac)? |
-0 3 0 1 300E6 K |
-// JDK gives 299.7925E6 |
-2 3 0 4 299.792E6 K |
-// JDK gives 299.79246E6 |
-2 3 0 5 299.7925E6 K |
-3 3 0 5 299.79246E6 |
-3 3 0 4 299.7925E6 |
-2 2 0 3 29.979E7 |
-4 4 0 0 2998E5 |
-0 0 1 5 .29979E9 |
-// JDK gives E0 |
-0 0 1 0 2.99792458E8 K |
-// JDK gives .2998E9 |
-0 0 0 4 2.998E8 K |
-// JDK uses 8 + 6 for significant digits instead of 2 + 6 |
-2 8 1 6 2.9979246E8 K |
-// Treat max int digits > 8 as being the same as min int digits. |
-// This behavior is not spelled out in the specification. |
-// JDK fails here because it tries to use 9 + 6 = 15 sig digits. |
-2 9 1 6 29.979246E7 K |
- |
-test significant digits scientific |
-set locale en |
-set pattern #E0 |
-set format 290000000.0 |
-begin |
-minSigDigits maxSigDigits output breaks |
-0 1 3E8 K |
-0 2 2.9E8 K |
-0 3 2.9E8 K |
-1 1 3E8 K |
-1 2 2.9E8 K |
-1 3 2.9E8 K |
-2 2 2.9E8 K |
-2 3 2.9E8 K |
-3 3 2.90E8 K |
-3 4 2.90E8 K |
- |
-test min max fraction digits scientific 2 |
-set locale en |
-set pattern #E0 |
-set format 29979245.0 |
-begin |
-minIntegerDigits maxIntegerDigits minFractionDigits maxFractionDigits output breaks |
-// JDK gives E0 |
-0 0 0 0 2.9979245E7 K |
-// JDK gives .3E8 |
-0 1 0 0 2.9979245E7 K |
-// JDK gives 2998E4. |
-0 4 0 0 2997.9245E4 K |
- |
-test ticket 11524 |
-set locale en |
-set pattern #,##0.### |
-begin |
-format maxIntegerDigits output |
-123 1 3 |
-123 -2147483648 0 |
-12345 1 5 |
-12345 -2147483648 0 |
-5.3 1 5.3 |
-5.3 -2147483648 .3 |
- |
-test patterns with zero |
-set locale en |
-set format 0 |
-begin |
-pattern output |
-#.# 0 |
-#. 0. |
-.# .0 |
-# 0 |
-00.000E00 00.000E00 |
-0.####E0 0E0 |
-##0.######E000 0E000 |
- |
-test significant digits manually set |
-set locale en_US |
-set pattern 0.0 |
-set useSigDigits 1 |
-set minSigDigits 3 |
-set maxSigDigits 5 |
-begin |
-format output breaks |
-0.0012 0.00120 K |
-0.00123 0.00123 K |
-0.001234 0.001234 K |
-0.0012345 0.0012345 K |
-0.00123456 0.0012346 K |
--43 -43.0 K |
--43.7 -43.7 K |
--43.76 -43.76 K |
--43.762 -43.762 K |
--43.7626 -43.763 K |
- |
-test grouping used setters |
-set locale en_US |
-set pattern #,##0 |
-set format 12345 |
-begin |
-output useGrouping |
-12,345 |
-12,345 1 |
-12345 0 |
- |
-test grouping setters |
-set locale en_US |
-set pattern 0 |
-set format 123456789 |
-set useGrouping 1 |
-begin |
-output grouping breaks grouping2 minGroupingDigits |
-1,2345,6789 4 |
-1,23,45,6789 4 K 2 |
-1,23,45,6789 4 K 2 2 |
-123,456789 6 K 6 3 |
-123456789 6 JK 6 4 |
- |
-test multiplier setters |
-set locale en_US |
-begin |
-format multiplier output breaks |
-23 -12 -276 |
-23 -1 -23 |
-// ICU4J and JDK throw exception on zero multiplier. ICU4C does not. |
-23 0 23 JK |
-23 1 23 |
-23 12 276 |
--23 12 -276 |
--23 -12 276 |
- |
-test rounding setters |
-set locale en_US |
-set pattern 0.0# |
-set roundingIncrement 0.25 |
-begin |
-format output breaks |
--0.35 -0.25 K |
-0.35 0.25 K |
-0.39 0.5 K |
-0.62 0.5 K |
-0.63 0.75 K |
- |
-test padding setters |
-set locale en_US |
-set pattern bill0 |
-set format 1357 |
-begin |
-padCharacter formatWidth output breaks |
-* 8 bill1357 K |
-* 9 *bill1357 K |
-^ 10 ^^bill1357 K |
- |
-test use scientific setter |
-set locale en_US |
-set pattern 0.00 |
-set format 186283 |
-begin |
-output breaks useScientific |
-186283.00 |
-1.86E5 K 1 |
-186283.00 K 0 |
- |
-test rounding mode setters |
-set locale en_US |
-set pattern 0.# |
-set roundingIncrement 0.5 |
-begin |
-format roundingMode output breaks |
-1.24 halfUp 1 K |
-1.25 halfUp 1.5 K |
-1.25 halfDown 1 K |
-1.26 halfDown 1.5 K |
-1.25 halfEven 1 K |
--1.01 up -1.5 K |
--1.49 down -1 K |
-1.01 up 1.5 K |
-1.49 down 1 K |
--1.01 ceiling -1 K |
--1.49 floor -1.5 K |
- |
-test currency usage setters |
-// TODO: Find a country and currency where standard and cash differ |
-set locale CH |
-set currency CHF |
-set pattern \u00a4\u00a4 0 |
-begin |
-format currencyUsage output breaks |
-0.37 standard CHF 0.37 K |
-// TODO: Get the rounding data into ICU4C and ICU4J |
-0.37 cash CHF 0.35 CJK |
- |
-test exponent parameter setters |
-set locale en_US |
-set pattern 0.##E0 |
-set format 299792458 |
-begin |
-decimalSeparatorAlwaysShown exponentSignAlwaysShown minimumExponentDigits output breaks |
-0 0 2 3E08 K |
-0 1 3 3E+008 K |
-// ICU DecimalFormat J does not honor decimalSeparatorAlwaysShown |
-// for scientific notation. But JDK DecimalFormat does honor |
-// decimalSeparatorAlwaysShown K=JDK; C=ICU4C; J=ICU4J |
-// See ticket 11621 |
-1 0 2 3.E08 JK |
-1 1 3 3.E+008 JK |
-1 0 1 3.E8 J |
-0 0 1 3E8 |
- |
-test exponent decimalSeparatorAlwaysShown default |
-set locale en_US |
-set pattern 0.##E0 |
-begin |
-format output breaks decimalSeparatorAlwaysShown |
-// decimalSeparatorAlwaysShown off by default |
-299792458 3E8 |
-299000000 2.99E8 |
-299792458 3.E8 J 1 |
- |
-test pad position setters |
-set locale en_US |
-set pattern **[#####0.##];((#)) |
-begin |
-format padPosition output breaks |
-12.34 beforePrefix ****[12.34] K |
-12.34 afterPrefix [****12.34] K |
-12.34 beforeSuffix [12.34****] K |
-12.34 afterSuffix [12.34]**** K |
--12.34 beforePrefix **((12.34)) K |
--12.34 afterPrefix ((**12.34)) K |
--12.34 beforeSuffix ((12.34**)) K |
--12.34 afterSuffix ((12.34))** K |
- |
-test affix setters |
-set locale fr_FR |
-set currency EUR |
-set pattern 0.00 |
-begin |
-format positivePrefix positiveSuffix negativePrefix negativeSuffix output |
-12.34 % %12,34 |
-12.34 \u00a4\u00a4 12,34\u00a4\u00a4 |
-12.34 - + 12,34 |
--12.34 - + -12,34+ |
--12.34 \u00a4 \u00a412,34 |
-12.34 \u00a4 12,34 |
--12.34 % 12,34% |
-12.34 % 12,34 |
- |
-test more affix setters |
-set locale fr_FR |
-set pattern %0.00 |
-begin |
-format positivePrefix negativePrefix output |
-0.648 booya cooya booya64,80 |
- |
-test nan and infinity |
-set locale en_US |
-set pattern [0.00];(#) |
-begin |
-format output breaks |
-Inf [\u221e] K |
--Inf (\u221e) K |
-NaN NaN K |
- |
-test nan and infinity with multiplication |
-set locale en |
-set multiplier 100 |
-begin |
-format output breaks |
-Inf \u221e |
--Inf -\u221e |
-NaN NaN K |
- |
-test nan and infinity with padding |
-set locale en_US |
-set pattern $$$0.00$ |
-set formatWidth 7 |
-begin |
-format padPosition output breaks |
-Inf beforePrefix $$$\u221e$ K |
-Inf afterPrefix $$$ \u221e$ K |
-Inf beforeSuffix $$$\u221e $ K |
-Inf afterSuffix $$$\u221e$ K |
-NaN beforePrefix NaN K |
-NaN afterPrefix NaN K |
-NaN beforeSuffix NaN K |
-NaN afterSuffix NaN K |
- |
-test apply localized patterns |
-begin |
-locale localizedPattern format output breaks |
-en 0% 0.4376 44% |
-// This next test breaks JDK. JDK doesn't multiply by 100. |
-fa \u06f0\u066a 0.4376 \u06f4\u06f4\u066a K |
- |
-test toPattern |
-set locale en |
-begin |
-pattern toPattern breaks |
-// JDK doesn't support any patterns with padding or both negative prefix and suffix |
-// Breaks ICU4J See ticket 11671 |
-**0,000 **0,000 JK |
-**##0,000 **##0,000 K |
-**###0,000 **###0,000 K |
-**####0,000 **#,##0,000 K |
-###,000. #,000. |
-0,000 #0,000 |
-.00 #.00 |
-000 #000 |
-000,000 #,000,000 |
-pp#,000 pp#,000 |
-00.## #00.## |
-#,#00.025 #,#00.025 |
-// No secondary grouping in JDK |
-#,##,###.02500 #,##,###.02500 K |
-pp#,000;(#) pp#,000;(#,000) K |
-**####,##,##0.0##;(#) **#,##,##,##0.0##;**(##,##,##0.0##) K |
-// No significant digits in JDK |
-@@### @@### K |
-@,@#,### @,@#,### K |
-0.00E0 0.00E0 |
-@@@##E0 @@@##E0 K |
-###0.00#E0 ###0.00#E0 |
-##00.00#E0 ##00.00#E0 |
-0.00E+00 0.00E+00 K |
-000.00E00 000.00E00 |
-###0.00#E00 ###0.00#E00 |
- |
-test parse |
-set locale en |
-set pattern +#,##0.0###;(#) |
-begin |
-parse output breaks |
-+5,347.25 5347.25 |
-+5,347,.25 5347.25 |
-+5,347, 5347 |
-+5347,,, 5347 |
-+5347,,,d8 5347 |
-(5,347.25) -5347.25 |
-// J requires prefix and suffix for lenient parsing, but C doesn't |
-5,347.25 5347.25 JK |
-(5,347.25 -5347.25 J |
--5,347.25 fail |
-+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 |
-// J doesn't allow trailing separators before E but C does |
-(34,,25,E-1) -342.5 J |
-(34 25 E-1) -342.5 JK |
-(34,,25 E-1) -3425 J |
-// Spaces are not allowed after exponent symbol |
-// C parses up to the E but J bails |
-(34 25E -1) -3425 JK |
-+3.52EE4 3.52 |
-+1,234,567.8901 1234567.8901 |
-+1,23,4567.8901 1234567.8901 |
-+1,23,4567.89,01 1234567.89 |
-+1,23,456.78.9 123456.78 |
-+12.34,56 12.34 |
-+79,,20,3 79203 |
-+79 20 3 79203 K |
-// Parsing stops at comma as it is different from other separators |
-+79 20,3 7920 K |
-+79,,20 3 7920 |
-+ 79 79 K |
-+,79,,20,3 79203 |
-+7920d3 7920 |
-// Whitespace immediately after prefix doesn't count as digit separator |
-// in C but is does in J |
-+ ,79,,20,3 79203 JK |
-( 19 45) -1945 K |
-// C allows trailing separators when there is a prefix and suffix. |
-// J allows trailing separators only when there is just a prefix. |
-// In this case, J just bails |
-( 19 45 ) -1945 JK |
-(,,19,45) -1945 |
-// C parses to the space, but J bails |
-(,,19 45) -19 J |
-// J bails b/c comma different separator than space. C doesn't treat leading spaces |
-// as a separator. |
-( 19,45) -1945 JK |
-// J bails. Doesn't allow trailing separators when there is prefix and suffix. |
-(,,19,45,) -1945 J |
-// J bails on next 4 because J doesn't allow letters inside prefix and suffix. |
-// C will parse up to the letter. |
-(,,19,45,d1) -1945 J |
-(,,19,45d1) -1945 J |
-( 19 45 d1) -1945 JK |
-( 19 45d1) -1945 JK |
-// J does allow trailing separator before a decimal point |
-(19,45,.25) -1945.25 |
-// 2nd decimal points are ignored |
-+4.12.926 4.12 |
- |
-test parse suffix |
-set locale en |
-set pattern #,##0.0###+;#- |
-begin |
-parse output breaks |
-// C sees this as -3426, don't understand why |
-3426 -3426 JK |
-3426+ 3426 |
-// J bails, but JDK will parse up to the space and get 34. |
-// C sees -34 |
-34 d1+ -34 JK |
-// JDK sees this as -1234 for some reason |
-// J bails b/c of trailing separators |
-// C parses until trailing separators, but sees -1234 |
-1,234,,,+ -1234 JK |
-1,234- -1234 |
-// J bails because of trailing separators |
-1,234,- -1234 J |
-// J bails here too |
-1234 - -1234 J |
- |
- |
- |
-test parse strict |
-set locale en |
-set pattern +#,##0.0###;(#) |
-set lenient 0 |
-begin |
-parse output breaks |
-+123d5 123 |
-+5347.25 5347.25 |
-// separators in wrong place cause failure, no separators ok. |
-+5,347.25 5347.25 |
-(5347.25) -5347.25 |
-(5,347.25) -5347.25 |
-// JDK does allow separators in the wrong place and parses as -5347.25 |
-(53,47.25) fail K |
-// strict requires prefix or suffix |
-5,347.25 fail |
-+3.52E4 35200 |
-(34.8E-3) -0.0348 |
-(3425E-1) -342.5 |
-// Strict doesn't allow separators in sci notation. |
-(3,425) -3425 |
-// JDK allows separators in sci notation and parses as -342.5 |
-(3,425E-1) fail K |
-// Both prefix and suffix needed for strict. |
-// JDK accepts this and parses as -342.5 |
-(3425E-1 fail K |
-+3.52EE4 3.52 |
-+1,234,567.8901 1234567.8901 |
-// With strict digit separators don't have to be the right type |
-// JDK doesn't acknowledge space as a separator |
-+1 234 567.8901 1234567.8901 K |
-// In general the grouping separators have to match their expected |
-// location exactly. The only exception is when string being parsed |
-// have no separators at all. |
-+1,234,567.8901 1234567.8901 |
-// JDK doesn't require separators to be in the right place |
-+1,23,4567.8901 fail K |
-+1234,567.8901 fail K |
-+1,234567.8901 fail K |
-+1234567.8901 1234567.8901 |
-// Comma after decimal means parse to a comma |
-+123,456.78,9 123456.78 |
-// A decimal after a decimal means bail |
-// JDK parses as 123456.78 |
-+123,456.78.9 fail K |
-+79 79 |
-+79 79 |
-+ 79 fail |
-// JDK parses as -1945 |
-(1,945d1) fail K |
- |
-test parse integer only |
-set locale en |
-set pattern 0.00 |
-set parseIntegerOnly 1 |
-begin |
-parse output breaks |
-35 35 |
-+35 fail |
--35 -35 |
-2.63 2 |
--39.99 -39 |
- |
-test parse no exponent flag |
-set pattern 0 |
-set locale en |
-begin |
-parseNoExponent parse output breaks |
-// JDK doesn't allow lowercase exponent but ICU4J and ICU4C do. |
-0 5e2 500 K |
-0 5.3E2 530 |
-// See ticket 11725 |
-1 5e2 5 J |
-1 5.3E2 5.3 JK |
- |
-test parse currency fail |
-set pattern 0 |
-set locale en |
-begin |
-parse output outputCurrency breaks |
-// See ticket 11735 |
-53.45 fail USD J |
- |
-test parse strange prefix |
-set locale en |
-set positivePrefix dd |
-set negativePrefix ddd |
-begin |
-parse output |
-dd4582 4582 |
-ddd4582 -4582 |
- |
-test parse strange suffix |
-set locale en |
-set positiveSuffix dd |
-set negativePrefix |
-set negativeSuffix ddd |
-begin |
-parse output |
-4582dd 4582 |
-4582ddd -4582 |
- |
-test really strange suffix |
-set locale en |
-set positiveSuffix 9K |
-set negativePrefix |
-set negativeSuffix 9N |
-begin |
-parse output breaks |
-// C consumes the '9' as a digit and assumes number is negative |
-// J and JDK bail |
-// 6549K 654 CJK |
-// C consumes the '9' as a digit and assumes number is negative |
-// J and JDK bail |
-// 6549N -654 CJK |
- |
-test really strange prefix |
-set locale en |
-set positivePrefix 82 |
-set negativePrefix 28 |
-begin |
-parse output |
-8245 45 |
-2845 -45 |
- |
-test select |
-set locale sr |
-begin |
-format pattern plural |
-Inf 0 other |
--Inf 0 other |
-NaN 0 other |
-Inf 0.0 other |
--Inf 0.0 other |
-NaN 0.0 other |
-1 0 one |
-1 0.0 other |
-2 0 few |
-2 0.0 other |
-2 0E0 other |
-5.1 0.0 one |
-5.09 0.0 one |
- |
-test parse currency ISO |
-set pattern 0.00 \u00a4\u00a4;(#) \u00a4\u00a4 |
-set locale en_US |
-begin |
-parse output outputCurrency breaks |
-$53.45 53.45 USD |
-53.45 USD 53.45 USD |
-USD 53.45 53.45 USD J |
-53.45USD fail USD |
-USD53.45 53.45 USD |
-(7.92) USD -7.92 USD |
-(7.92) EUR -7.92 EUR |
-(7.926) USD -7.926 USD |
-(7.926 USD) fail USD |
-(USD 7.926) fail USD |
-USD (7.926) fail USD |
-USD (7.92) fail USD |
-(7.92)USD fail USD |
-USD(7.92) fail USD |
-(8) USD -8 USD |
--8 USD fail USD |
-67 USD 67 USD |
-53.45$ fail USD |
-US Dollars 53.45 53.45 USD J |
-53.45 US Dollars 53.45 USD |
-US Dollar 53.45 53.45 USD J |
-53.45 US Dollar 53.45 USD |
-US Dollars53.45 53.45 USD |
-53.45US Dollars fail USD |
-US Dollar53.45 53.45 USD |
-US Dollat53.45 fail USD |
-53.45US Dollar fail USD |
-US Dollars (53.45) fail USD |
-(53.45) US Dollars -53.45 USD |
-US Dollar (53.45) fail USD |
-(53.45) US Dollar -53.45 USD |
-US Dollars(53.45) fail USD |
-(53.45)US Dollars fail USD |
-US Dollar(53.45) fail USD |
-US Dollat(53.45) fail USD |
-(53.45)US Dollar fail USD |
- |
- |
-test parse currency ISO negative |
-set pattern 0.00 \u00a4\u00a4;-# \u00a4\u00a4 |
-set locale en_US |
-begin |
-parse output outputCurrency breaks |
-$53.45 53.45 USD |
-53.45 USD 53.45 USD |
-USD 53.45 53.45 USD J |
-53.45USD fail USD |
-USD53.45 53.45 USD |
--7.92 USD -7.92 USD |
--7.92 EUR -7.92 EUR |
--7.926 USD -7.926 USD |
-USD -7.926 fail USD |
--7.92USD fail USD |
-USD-7.92 fail USD |
--8 USD -8 USD |
-67 USD 67 USD |
-53.45$ fail USD |
-US Dollars 53.45 53.45 USD J |
-53.45 US Dollars 53.45 USD |
-US Dollar 53.45 53.45 USD J |
-53.45 US Dollar 53.45 USD |
-US Dollars53.45 53.45 USD |
-53.45US Dollars fail USD |
-US Dollar53.45 53.45 USD |
-US Dollat53.45 fail USD |
-53.45US Dollar fail USD |
- |
- |
-test parse currency long |
-set pattern 0.00 \u00a4\u00a4\u00a4;(#) \u00a4\u00a4\u00a4 |
-set locale en_US |
-begin |
-parse output outputCurrency breaks |
-$53.45 53.45 USD |
-53.45 USD 53.45 USD |
-USD 53.45 53.45 USD J |
-// See ticket 11735 |
-53.45USD fail USD J |
-USD53.45 53.45 USD |
-(7.92) USD -7.92 USD |
-(7.926) USD -7.926 USD |
-(7.926 USD) fail USD |
-(USD 7.926) fail USD |
-USD (7.926) fail USD |
-USD (7.92) fail USD |
-(7.92)USD fail USD |
-USD(7.92) fail USD |
-(8) USD -8 USD |
-// See ticket 11735 |
--8 USD fail USD J |
-67 USD 67 USD |
-// See ticket 11735 |
-53.45$ fail USD J |
-US Dollars 53.45 53.45 USD J |
-53.45 US Dollars 53.45 USD |
-US Dollar 53.45 53.45 USD J |
-53.45 US Dollar 53.45 USD |
-US Dollars53.45 53.45 USD |
-// See ticket 11735 |
-53.45US Dollars fail USD J |
-US Dollar53.45 53.45 USD |
-US Dollat53.45 fail USD |
-// See ticket 11735 |
-53.45US Dollar fail USD J |
- |
- |
-test parse currency short |
-set pattern 0.00 \u00a4;(#) \u00a4 |
-set locale en_US |
-begin |
-parse output outputCurrency breaks |
-$53.45 53.45 USD |
-53.45 USD 53.45 USD |
-USD 53.45 53.45 USD J |
-53.45USD fail USD |
-USD53.45 53.45 USD |
-(7.92) USD -7.92 USD |
-(7.926) USD -7.926 USD |
-(7.926 USD) fail USD |
-(USD 7.926) fail USD |
-USD (7.926) fail USD |
-USD (7.92) fail USD |
-(7.92)USD fail USD |
-USD(7.92) fail USD |
-(8) USD -8 USD |
--8 USD fail USD |
-67 USD 67 USD |
-53.45$ fail USD |
-US Dollars 53.45 53.45 USD J |
-53.45 US Dollars 53.45 USD |
-US Dollar 53.45 53.45 USD J |
-53.45 US Dollar 53.45 USD |
-US Dollars53.45 53.45 USD |
-53.45US Dollars fail USD |
-US Dollar53.45 53.45 USD |
-US Dollat53.45 fail USD |
-53.45US Dollar fail USD |
- |
- |
-test parse currency short prefix |
-set pattern \u00a40.00;(\u00a4#) |
-set locale en_US |
-begin |
-parse output outputCurrency breaks |
-$53.45 53.45 USD |
-53.45 USD fail USD |
-USD 53.45 53.45 USD J |
-53.45USD fail USD |
-USD53.45 53.45 USD |
-(7.92) USD fail USD |
-(7.926) USD fail USD |
-(7.926 USD) fail USD |
-(USD 7.926) -7.926 USD J |
-USD (7.926) fail USD |
-USD (7.92) fail USD |
-(7.92)USD fail USD |
-USD(7.92) fail USD |
-(8) USD fail USD |
--8 USD fail USD |
-67 USD fail USD |
-53.45$ fail USD |
-US Dollars 53.45 53.45 USD J |
-53.45 US Dollars 53.45 USD |
-US Dollar 53.45 53.45 USD J |
-53.45 US Dollar 53.45 USD |
-US Dollars53.45 53.45 USD |
-53.45US Dollars fail USD |
-US Dollar53.45 53.45 USD |
-53.45US Dollar fail USD |
- |
-test format foreign currency |
-set locale fa_IR |
-begin |
-pattern format output breaks |
-\u00a4\u00a4\u00a4 0.00;\u00a4\u00a4\u00a4 # 1235 \u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5 K |
-\u00a4\u00a4 0.00;\u00a4\u00a4 -# 1235 IRR \u06F1\u06F2\u06F3\u06F5 K |
-\u00a4 0.00;\u00a4 -# 1235 \u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5 K |
- |
-test parse foreign currency symbol |
-set pattern \u00a4 0.00;\u00a4 -# |
-set locale fa_IR |
-begin |
-parse output outputCurrency |
-\u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5 1235 IRR |
-IRR \u06F1\u06F2\u06F3\u06F5 1235 IRR |
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5 1235 IRR |
-IRR 1235 1235 IRR |
-\u0631\u06cc\u0627\u0644 1235 1235 IRR |
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235 1235 IRR |
- |
-test parse foreign currency ISO |
-set pattern \u00a4\u00a4 0.00;\u00a4\u00a4 -# |
-set locale fa_IR |
-begin |
-parse output outputCurrency |
-\u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5 1235 IRR |
-IRR \u06F1\u06F2\u06F3\u06F5 1235 IRR |
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5 1235 IRR |
-IRR 1235 1235 IRR |
-\u0631\u06cc\u0627\u0644 1235 1235 IRR |
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235 1235 IRR |
- |
-test parse foreign currency full |
-set pattern \u00a4\u00a4\u00a4 0.00;\u00a4\u00a4\u00a4 -# |
-set locale fa_IR |
-begin |
-parse output outputCurrency |
-\u0631\u06cc\u0627\u0644 \u06F1\u06F2\u06F3\u06F5 1235 IRR |
-IRR \u06F1\u06F2\u06F3\u06F5 1235 IRR |
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 \u06F1\u06F2\u06F3\u06F5 1235 IRR |
-IRR 1235 1235 IRR |
-\u0631\u06cc\u0627\u0644 1235 1235 IRR |
-\u0631\u06cc\u0627\u0644 \u0627\u06cc\u0631\u0627\u0646 1235 1235 IRR |
- |
-test parse currency with foreign symbols symbol english |
-set pattern \u00a4 0.00;\u00a4 (#) |
-set locale en_US |
-begin |
-parse output outputCurrency |
-EUR 7.82 7.82 EUR |
-\u20ac 7.82 7.82 EUR |
-Euro 7.82 7.82 EUR |
-Euros 7.82 7.82 EUR |
- |
-test parse currency with foreign symbols ISO english |
-set pattern \u00a4\u00a4 0.00;\u00a4\u00a4 (#) |
-set locale en_US |
-begin |
-parse output outputCurrency |
-EUR 7.82 7.82 EUR |
-\u20ac 7.82 7.82 EUR |
-Euro 7.82 7.82 EUR |
-Euros 7.82 7.82 EUR |
- |
-test parse currency with foreign symbols full english |
-set pattern \u00a4\u00a4\u00a4 0.00;\u00a4\u00a4\u00a4 (#) |
-set locale en_US |
-begin |
-parse output outputCurrency |
-EUR 7.82 7.82 EUR |
-\u20ac 7.82 7.82 EUR |
-Euro 7.82 7.82 EUR |
-Euros 7.82 7.82 EUR |
- |
-test parse currency ISO strict |
-set pattern 0.00 \u00a4\u00a4;(#) \u00a4\u00a4 |
-set locale en_US |
-set lenient 0 |
-begin |
-parse output outputCurrency breaks |
-$53.45 53.45 USD |
-53.45 USD 53.45 USD |
-USD 53.45 fail USD |
-53.45USD fail USD |
-USD53.45 53.45 USD |
-(7.92) USD -7.92 USD |
-(7.92) EUR -7.92 EUR |
-(7.926) USD -7.926 USD |
-(7.926 USD) fail USD |
-(USD 7.926) fail USD |
-USD (7.926) fail USD |
-USD (7.92) fail USD |
-(7.92)USD fail USD |
-USD(7.92) fail USD |
-(8) USD -8 USD |
--8 USD fail USD |
-67 USD 67 USD |
-53.45$ fail USD |
-US Dollars 53.45 fail USD |
-53.45 US Dollars 53.45 USD |
-US Dollar 53.45 fail USD |
-53.45 US Dollar 53.45 USD |
-US Dollars53.45 53.45 USD |
-53.45US Dollars fail USD |
-US Dollar53.45 53.45 USD |
-US Dollat53.45 fail USD |
-53.45US Dollar fail USD |
-US Dollars (53.45) fail USD |
-(53.45) US Dollars -53.45 USD |
-US Dollar (53.45) fail USD |
-(53.45) US Dollar -53.45 USD |
-US Dollars(53.45) fail USD |
-(53.45)US Dollars fail USD |
-US Dollar(53.45) fail USD |
-US Dollat(53.45) fail USD |
-(53.45)US Dollar fail USD |
- |
-test ticket 10436 |
-set locale en |
-set roundingMode ceiling |
-set minFractionDigits 0 |
-set maxFractionDigits 0 |
-begin |
-format output breaks |
--0.99 -0 JK |
- |