You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by sa...@apache.org on 2010/11/05 21:20:00 UTC

svn commit: r1031774 - /xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/PrecisionDecimalDV.java

Author: sandygao
Date: Fri Nov  5 20:20:00 2010
New Revision: 1031774

URL: http://svn.apache.org/viewvc?rev=1031774&view=rev
Log:
Bug fix: total digits for precision decimal is t in "values are expressible in scientific notation using at most t digits for the coefficient." So for "0.003", total digits is 1, not 3 or 4.

Modified:
    xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/PrecisionDecimalDV.java

Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/PrecisionDecimalDV.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/PrecisionDecimalDV.java?rev=1031774&r1=1031773&r2=1031774&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/PrecisionDecimalDV.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/dv/xs/PrecisionDecimalDV.java Fri Nov  5 20:20:00 2010
@@ -137,9 +137,20 @@ class PrecisionDecimalDV extends TypeVal
             intDigits = intEnd - actualIntStart;
             if (intDigits > 0) {
                 ivalue = content.substring(actualIntStart, intEnd);
+                totalDigits = intDigits + fracDigits;
+            }
+            else {
+                totalDigits = fracDigits;
+                for (int i = 0; i < fracDigits; i++,totalDigits--) {
+                    if (fvalue.charAt(i) != '0') {
+                        break;
+                    }
+                }
+                if (totalDigits == 0) {
+                    totalDigits = 1;
+                }
             }
 
-            totalDigits = intDigits + fracDigits;
             precision = fracDigits - pvalue;
         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org