12345678910111213141516171819202122232425262728293031 |
- package jsoniter
- 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:
- return string(typedVal), true
- case Number:
- return string(typedVal), true
- }
- return "", false
- }
|