diff --git a/include/rapidjson/internal/ieee754.h b/include/rapidjson/internal/ieee754.h index 0b9393e..152be8f 100644 --- a/include/rapidjson/internal/ieee754.h +++ b/include/rapidjson/internal/ieee754.h @@ -36,7 +36,7 @@ public: double PreviousPositiveDouble() const { RAPIDJSON_ASSERT(!Sign()); - if (d == 0.0) + if (IsZero()) return 0.0; else return Double(u - 1).Value(); diff --git a/include/rapidjson/reader.h b/include/rapidjson/reader.h index 0ee2523..d9da869 100644 --- a/include/rapidjson/reader.h +++ b/include/rapidjson/reader.h @@ -896,7 +896,7 @@ private: if (significandDigit < 17) { d = d * 10.0 + (s.TakePush() - '0'); --expFrac; - if (d != 0.0) + if (d > 0.0) significandDigit++; } else