func ToFloat()

in utils/type.go [36:65]


func ToFloat(i interface{}, defaultVal float64) float64 {
	switch value := i.(type) {
	case float64:
		return value
	case int:
		return float64(value)
	case int32:
		return float64(value)
	case int64:
		return float64(value)
	case uint32:
		return float64(value)
	case uint:
		return float64(value)
	case string:
		if f, err := strconv.ParseFloat(value, 64); err == nil {
			return f
		} else {
			return defaultVal
		}
	case json.Number:
		if f, err := value.Float64(); err == nil {
			return f
		} else {
			return defaultVal
		}
	default:
		return defaultVal
	}
}