本文整理汇总了Golang中encoding/json.Number类的典型用法代码### 示例。如果您正苦于以下问题:Golang Number类的具体用法?Golang Number怎么用?Golang Number使用的例子?那么恭喜您, 这里精选的类代码### 示例或许可以为您提供帮助。

在下文中一共展示了Number类的13个代码### 示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码### 示例。

示例1: UnmarshalJSON

func (f *Float) UnmarshalJSON(in []byte) error {
    if len(in) == 0 {
        return &json.UnmarshalTypeError{Value: "number", Type: reflect.TypeOf(f)}
    }

    var err error
    var next float64
    switch in[0] {
    case 'n', 't', 'f', '{', '[':
        return &json.UnmarshalTypeError{Value: badJSONValue(in), Type: reflect.TypeOf(f)}
    case '"':
        var new json.Number
        err = json.Unmarshal(in, &new)
        if err == nil {
            next, err = new.Float64()

            if err != nil {
                err = &json.UnmarshalTypeError{Value: "quoted number " + new.String(), Type: reflect.TypeOf(f)}
            }
        }
    default:
        err = json.Unmarshal(in, &next)
    }

    if err == nil {
        f.Set(next)
    }

    return err
}

开发者ID:nilium,项目名称:dagr,代码行数:30,代码来源:field.go

示例2: NumberToFloat

func NumberToFloat(num json.Number) (value float64) {
    var err error
    value, err = num.Float64()
    if err != nil {
        value = 0.0
    }
    return
}

开发者ID:ifzz,项目名称:btcrobot,代码行数:8,代码来源:kline.go

示例3: convertNumber

// convertNumber converts a json.Number to an int64 or float64, or returns an error
func convertNumber(n json.Number) (interface{}, error) {
    // Attempt to convert to an int64 first
    if i, err := n.Int64(); err == nil {
        return i, nil
    }
    // Return a float64 (default json.Decode() behavior)
    // An overflow will return an error
    return n.Float64()
}

开发者ID:CodeJuan,项目名称:kubernetes,代码行数:10,代码来源:json.go

示例4: resultErrorFormatJsonNumber

// formats a number so that it is displayed as the smallest string possible
func resultErrorFormatJsonNumber(n json.Number) string {

    if int64Value, err := n.Int64(); err == nil {
        return fmt.Sprintf("%d", int64Value)
    }

    float64Value, _ := n.Float64()

    return fmt.Sprintf("%g", float64Value)
}

开发者ID:haj,项目名称:kompose,代码行数:11,代码来源:utils.go

示例5: UnmarshalJSON

func (e *expirationTime) UnmarshalJSON(b []byte) error {
    var n json.Number
    err := json.Unmarshal(b, &n)
    if err != nil {
        return err
    }
    i, err := n.Int64()
    if err != nil {
        return err
    }
    *e = expirationTime(i)
    return nil
}

开发者ID:st3v3nle,项目名称:cadvisor,代码行数:13,代码来源:oauth2.go

最后编辑: kuteng  文档更新时间: 2021-08-23 19:14   作者:kuteng