             if reader.curr() == Const.DecimalPoint {
                 frac = try self.parseFrac(reader)
             } else {
-                frac = 0
+                frac = ""
             }
         }
         

        return value
    }
    
    private func generateNumber(negative: Bool, integer: Int, frac: Int, exp: Int?) -> JSON.Number {
        
        //form the int section
        var int = integer

        int *= sign
        
        //if that's it, let's call it an integer
        if frac.isEmpty && exp == nil {
            if negative {
                //if it's negative, make it a signed integer
                return .integer(int)
