diff --git a/src/xercesc/util/XMLFloat.cpp b/src/xercesc/util/XMLFloat.cpp
index bee576aaa34ae19b5844c3e94fe66fb037372763..e0c20c8f9dc3e37613d87296ab32d5c2dec78988 100644
--- a/src/xercesc/util/XMLFloat.cpp
+++ b/src/xercesc/util/XMLFloat.cpp
@@ -57,6 +57,9 @@
 /*
  * $Id$
  * $Log$
+ * Revision 1.6  2002/12/11 19:55:16  peiyongz
+ * set negZero/posZero for float.
+ *
  * Revision 1.5  2002/12/11 00:20:02  peiyongz
  * Doing businesss in value space. Converting out-of-bound value into special values.
  *
@@ -183,10 +186,12 @@ void XMLFloat::checkBoundary(const XMLCh* const strValue)
         }
         else if (fValue > (-1)*FLT_MIN && fValue < 0)
         {
+            fType = NegZero;
             fValue = 0;
-        }
+        } 
         else if (fValue > 0 && fValue < FLT_MIN )
         {
+            fType = PosZero;
             fValue = 0;
         }
         else if  (fValue > FLT_MAX)