Przeglądaj źródła

fix #180, add missing methods to jsoniter.Number

Tao Wen 8 lat temu
rodzic
commit
73c7bc881e
1 zmienionych plików z 17 dodań i 1 usunięć
  1. 17 1
      feature_json_number.go

+ 17 - 1
feature_json_number.go

@@ -1,9 +1,25 @@
 package jsoniter
 
-import "encoding/json"
+import (
+	"encoding/json"
+	"strconv"
+)
 
 type Number string
 
+// String returns the literal text of the number.
+func (n Number) String() string { return string(n) }
+
+// Float64 returns the number as a float64.
+func (n Number) Float64() (float64, error) {
+	return strconv.ParseFloat(string(n), 64)
+}
+
+// Int64 returns the number as an int64.
+func (n Number) Int64() (int64, error) {
+	return strconv.ParseInt(string(n), 10, 64)
+}
+
 func CastJsonNumber(val interface{}) (string, bool) {
 	switch typedVal := val.(type) {
 	case json.Number: