You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2008/11/28 14:21:29 UTC
svn commit: r721477 - in /labs/magma/trunk/foundation-i18n/src:
main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java
test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java
Author: simoneg
Date: Fri Nov 28 05:21:28 2008
New Revision: 721477
URL: http://svn.apache.org/viewvc?rev=721477&view=rev
Log:
Support hiding of currency symbol
Modified:
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java
labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java
Modified: labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java?rev=721477&r1=721476&r2=721477&view=diff
==============================================================================
--- labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java (original)
+++ labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java Fri Nov 28 05:21:28 2008
@@ -2,6 +2,7 @@
import java.text.DateFormat;
import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -33,7 +34,7 @@
if (value == null) return "";
NumberFormat formatter = getFormatter(getFormatterName());
if (formatter == null) return super.toString(value);
- return formatter.format(value);
+ return formatter.format(value).trim();
}
@Override
@@ -93,7 +94,15 @@
NumberFormat instance = NumberFormat.getCurrencyInstance(locale);
if (instance instanceof DecimalFormat) {
DecimalFormat df = (DecimalFormat) instance;
- df.setCurrency(Currency.getInstance(useformat.substring(9).toUpperCase()));
+ String currency = useformat.substring(9).toUpperCase();
+ boolean hidden = currency.endsWith("-HIDDEN");
+ if (hidden) currency = currency.substring(0, currency.length() - 7);
+ df.setCurrency(Currency.getInstance(currency));
+ if (hidden) {
+ DecimalFormatSymbols symbols = df.getDecimalFormatSymbols();
+ symbols.setCurrencySymbol("");
+ df.setDecimalFormatSymbols(symbols);
+ }
}
return instance;
} else if (useformat.toLowerCase().startsWith("percent")) {
Modified: labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java?rev=721477&r1=721476&r2=721477&view=diff
==============================================================================
--- labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java (original)
+++ labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java Fri Nov 28 05:21:28 2008
@@ -61,27 +61,33 @@
set8d = new Check(100d, "currency-EUR", "+100 EUR", "+100E", false, true),
set8e = new Check(-100d, "currency-EUR", "E-100", "-100E", false, true),
set9 = new Check(100.10d, "currency-EUR", "EUR 100,10", "EUR100.10"),
+ set9b = new Check(100.10d, "currency-EUR-hidden", "100,10", "100.10"),
set10 = new Check(100d, "##0.00", "100,00", "100.00"),
set11 = new Check(0.1d, "#00.00", "00,10", "00.10");
@Theory
- public void doubleFormat(Check check) {
- DoubleFormatter df = new DoubleFormatter();
- df.setFormat(check.format);
- CurrentLocale.setLocale(Locale.ITALIAN);
- String itTo = check.checkto ? df.toString(check.value) : "";
- double itFrom = check.checkfrom ? df.fromString(check.itstring) : 0d;
- CurrentLocale.setLocale(Locale.US);
- String usTo = check.checkto ? df.toString(check.value) : "";
- double usFrom = check.checkfrom ? df.fromString(check.usstring) : 0d;
-
- if (check.checkto) {
- assertEquals(check.itstring, itTo);
- assertEquals(check.usstring, usTo);
- }
- if (check.checkfrom) {
- assertEquals(check.value, itFrom, 0.001d);
- assertEquals(check.value, usFrom, 0.001d);
+ public void doubleFormat(Check check) throws Throwable {
+ DoubleFormatter df = new DoubleFormatter();
+ df.setFormat(check.format);
+ CurrentLocale.setLocale(Locale.ITALIAN);
+ String itTo = check.checkto ? df.toString(check.value) : "";
+ double itFrom = check.checkfrom ? df.fromString(check.itstring) : 0d;
+ CurrentLocale.setLocale(Locale.US);
+ String usTo = check.checkto ? df.toString(check.value) : "";
+ double usFrom = check.checkfrom ? df.fromString(check.usstring) : 0d;
+
+ try {
+ if (check.checkto) {
+ assertEquals(check.itstring, itTo);
+ assertEquals(check.usstring, usTo);
+ }
+ if (check.checkfrom) {
+ assertEquals(check.value, itFrom, 0.001d);
+ assertEquals(check.value, usFrom, 0.001d);
+ }
+ } catch (Throwable e) {
+ System.out.println(e.getMessage());
+ throw e;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org