Lines 932-944
Link Here
|
932 |
String formatUK = "_-[$"+pound+"-809]* #,##0_-;\\-[$"+pound+"-809]* #,##0_-;_-[$"+pound+"-809]* \"-\"??_-;_-@_-"; |
932 |
String formatUK = "_-[$"+pound+"-809]* #,##0_-;\\-[$"+pound+"-809]* #,##0_-;_-[$"+pound+"-809]* \"-\"??_-;_-@_-"; |
933 |
// French style accounting, euro sign comes after not before |
933 |
// French style accounting, euro sign comes after not before |
934 |
String formatFR = "_-#,##0* [$"+euro+"-40C]_-;\\-#,##0* [$"+euro+"-40C]_-;_-\"-\"??* [$"+euro+"-40C] _-;_-@_-"; |
934 |
String formatFR = "_-#,##0* [$"+euro+"-40C]_-;\\-#,##0* [$"+euro+"-40C]_-;_-\"-\"??* [$"+euro+"-40C] _-;_-@_-"; |
935 |
|
935 |
// R English (South Africa) style accounting, R currency symbol and 4-digit locale specifier |
|
|
936 |
String formatSA = "_-[$R-1C09]* #,##0_-;\\-[$R-1C09]* #,##0_-;_-[$R-1C09]* \"-\"??_-;_-@_-"; |
937 |
// USD style accounting, USD currency symbol without -xxx or -xxxx locale specifier |
938 |
String formatUSD = "_([$USD]\\ * #,##0_);_([$USD]\\ * \\(#,##0\\);_([$USD]\\ * \"-\"??_);_(@_)"; |
939 |
|
936 |
// Has +ve, -ve and zero rules |
940 |
// Has +ve, -ve and zero rules |
937 |
CellFormat cfDft = CellFormat.getInstance(formatDft); |
941 |
CellFormat cfDft = CellFormat.getInstance(formatDft); |
938 |
CellFormat cfUS = CellFormat.getInstance(formatUS); |
942 |
CellFormat cfUS = CellFormat.getInstance(formatUS); |
939 |
CellFormat cfUK = CellFormat.getInstance(formatUK); |
943 |
CellFormat cfUK = CellFormat.getInstance(formatUK); |
940 |
CellFormat cfFR = CellFormat.getInstance(formatFR); |
944 |
CellFormat cfFR = CellFormat.getInstance(formatFR); |
941 |
|
945 |
CellFormat cfSA = CellFormat.getInstance(formatSA); |
|
|
946 |
CellFormat cfUSD = CellFormat.getInstance(formatUSD); |
947 |
|
942 |
// For +ve numbers, should be Space + currency symbol + spaces + whole number with commas + space |
948 |
// For +ve numbers, should be Space + currency symbol + spaces + whole number with commas + space |
943 |
// (Except French, which is mostly reversed...) |
949 |
// (Except French, which is mostly reversed...) |
944 |
assertEquals(" $ 12 ", cfDft.apply(Double.valueOf(12.33)).text); |
950 |
assertEquals(" $ 12 ", cfDft.apply(Double.valueOf(12.33)).text); |
Lines 945-967
Link Here
|
945 |
assertEquals(" $ 12 ", cfUS.apply(Double.valueOf(12.33)).text); |
951 |
assertEquals(" $ 12 ", cfUS.apply(Double.valueOf(12.33)).text); |
946 |
assertEquals(" "+pound+" 12 ", cfUK.apply(Double.valueOf(12.33)).text); |
952 |
assertEquals(" "+pound+" 12 ", cfUK.apply(Double.valueOf(12.33)).text); |
947 |
assertEquals(" 12 "+euro+" ", cfFR.apply(Double.valueOf(12.33)).text); |
953 |
assertEquals(" 12 "+euro+" ", cfFR.apply(Double.valueOf(12.33)).text); |
|
|
954 |
assertEquals(" R 12 ", cfSA.apply(Double.valueOf(12.33)).text); |
955 |
assertEquals(" USD 12 ", cfUSD.apply(Double.valueOf(12.33)).text); |
948 |
|
956 |
|
949 |
assertEquals(" $ 16,789 ", cfDft.apply(Double.valueOf(16789.2)).text); |
957 |
assertEquals(" $ 16,789 ", cfDft.apply(Double.valueOf(16789.2)).text); |
950 |
assertEquals(" $ 16,789 ", cfUS.apply(Double.valueOf(16789.2)).text); |
958 |
assertEquals(" $ 16,789 ", cfUS.apply(Double.valueOf(16789.2)).text); |
951 |
assertEquals(" "+pound+" 16,789 ", cfUK.apply(Double.valueOf(16789.2)).text); |
959 |
assertEquals(" "+pound+" 16,789 ", cfUK.apply(Double.valueOf(16789.2)).text); |
952 |
assertEquals(" 16,789 "+euro+" ", cfFR.apply(Double.valueOf(16789.2)).text); |
960 |
assertEquals(" 16,789 "+euro+" ", cfFR.apply(Double.valueOf(16789.2)).text); |
953 |
|
961 |
assertEquals(" R 16,789 ", cfSA.apply(Double.valueOf(16789.2)).text); |
|
|
962 |
assertEquals(" USD 16,789 ", cfUSD.apply(Double.valueOf(16789.2)).text); |
963 |
|
954 |
// For -ve numbers, gets a bit more complicated... |
964 |
// For -ve numbers, gets a bit more complicated... |
955 |
assertEquals("-$ 12 ", cfDft.apply(Double.valueOf(-12.33)).text); |
965 |
assertEquals("-$ 12 ", cfDft.apply(Double.valueOf(-12.33)).text); |
956 |
assertEquals(" $ -12 ", cfUS.apply(Double.valueOf(-12.33)).text); |
966 |
assertEquals(" $ -12 ", cfUS.apply(Double.valueOf(-12.33)).text); |
957 |
assertEquals("-"+pound+" 12 ", cfUK.apply(Double.valueOf(-12.33)).text); |
967 |
assertEquals("-"+pound+" 12 ", cfUK.apply(Double.valueOf(-12.33)).text); |
958 |
assertEquals("-12 "+euro+" ", cfFR.apply(Double.valueOf(-12.33)).text); |
968 |
assertEquals("-12 "+euro+" ", cfFR.apply(Double.valueOf(-12.33)).text); |
959 |
|
969 |
assertEquals("-R 12 ", cfSA.apply(Double.valueOf(-12.33)).text); |
|
|
970 |
assertEquals(" USD (12)", cfUSD.apply(Double.valueOf(-12.33)).text); |
971 |
|
960 |
assertEquals("-$ 16,789 ", cfDft.apply(Double.valueOf(-16789.2)).text); |
972 |
assertEquals("-$ 16,789 ", cfDft.apply(Double.valueOf(-16789.2)).text); |
961 |
assertEquals(" $ -16,789 ", cfUS.apply(Double.valueOf(-16789.2)).text); |
973 |
assertEquals(" $ -16,789 ", cfUS.apply(Double.valueOf(-16789.2)).text); |
962 |
assertEquals("-"+pound+" 16,789 ", cfUK.apply(Double.valueOf(-16789.2)).text); |
974 |
assertEquals("-"+pound+" 16,789 ", cfUK.apply(Double.valueOf(-16789.2)).text); |
963 |
assertEquals("-16,789 "+euro+" ", cfFR.apply(Double.valueOf(-16789.2)).text); |
975 |
assertEquals("-16,789 "+euro+" ", cfFR.apply(Double.valueOf(-16789.2)).text); |
964 |
|
976 |
assertEquals("-R 16,789 ", cfSA.apply(Double.valueOf(-16789.2)).text); |
|
|
977 |
assertEquals(" USD (16,789)", cfUSD.apply(Double.valueOf(-16789.2)).text); |
978 |
|
965 |
// For zero, should be Space + currency symbol + spaces + Minus + spaces |
979 |
// For zero, should be Space + currency symbol + spaces + Minus + spaces |
966 |
assertEquals(" $ - ", cfDft.apply(Double.valueOf(0)).text); |
980 |
assertEquals(" $ - ", cfDft.apply(Double.valueOf(0)).text); |
967 |
// TODO Fix the exception this incorrectly triggers |
981 |
// TODO Fix the exception this incorrectly triggers |