tmiller 2002/06/05 13:23:14
Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Log:
bug fix 9179, leading zero in localized formatting
Revision Changes Path
1.39 +26 -1
xml-xalan/java/src/org/apache/xalan/xsltc/runtime/BasisLibrary.java
Index: BasisLibrary.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/BasisLibrary.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- BasisLibrary.java 5 Jun 2002 18:00:36 -0000 1.38
+++ BasisLibrary.java 5 Jun 2002 20:23:14 -0000 1.39
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: BasisLibrary.java,v 1.38 2002/06/05 18:00:36 tmiller Exp $
+ * @(#)$Id: BasisLibrary.java,v 1.39 2002/06/05 20:23:14 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -890,6 +890,31 @@
try {
StringBuffer result = new StringBuffer();
formatter.applyLocalizedPattern(pattern);
+
+ //------------------------------------------------------
+ // bug fix # 9179 - make sure localized pattern contains
+ // a leading zero before decimal, handle cases where
+ // decimal is in position zero, and >= to 1.
+ // localized pattern is ###.### convert to ###0.###
+ // localized pattern is .### convert to 0.###
+ //------------------------------------------------------
+ String localizedPattern = formatter.toPattern();
+ int index = localizedPattern.indexOf('.');
+ if ( index >= 1 && localizedPattern.charAt(index-1) != '0' ) {
+ //insert a zero before the decimal point in the pattern
+ StringBuffer newpattern = new StringBuffer();
+ newpattern.append(localizedPattern.substring(0, index));
+ newpattern.append("0");
+ newpattern.append(localizedPattern.substring(index));
+ formatter.applyLocalizedPattern(newpattern.toString());
+ } else if (index == 0) {
+ // insert a zero before decimal point in pattern
+ StringBuffer newpattern = new StringBuffer();
+ newpattern.append("0");
+ newpattern.append(localizedPattern);
+ formatter.applyLocalizedPattern(newpattern.toString());
+ }
+
formatter.format(number, result, _fieldPosition);
return(result.toString());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]