Esempio n. 1
0
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)
}
Esempio n. 2
0
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
}
Esempio n. 3
0
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
}