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