func formatFloat(i interface{}, prec int) string { f, err := numcon.Float64(i) if err != nil { return err.Error() } return strconv.FormatFloat(f, 'f', prec, 64) }
func (n *NestedData) GetF(s ...string) (float64, bool) { r, ok := n.Get(s...) if !ok { return 0, false } val, err := numcon.Float64(r) if err != nil { return 0, false } return val, true }
func floater(dat interface{}, s Scheme) (interface{}, error) { var val float64 var err error switch v := dat.(type) { case string: val, err = strconv.ParseFloat(v, 64) if err != nil { return nil, err } default: val, err = numcon.Float64(v) if err != nil { return nil, err } } if s.Min > int64(val) { return nil, fmt.Errorf("Float value is too small.") } if s.Max != 0 && s.Max < int64(val) { return nil, fmt.Errorf("Float value is too large.") } return val, nil }