package chart import ( "strconv" "strings" "time" ) // ParseFloats parses a list of floats. func ParseFloats(values ...string) ([]float64, error) { var output []float64 var parsedValue float64 var err error var cleaned string for _, value := range values { cleaned = strings.TrimSpace(strings.Replace(value, ",", "", -1)) if cleaned == "" { continue } if parsedValue, err = strconv.ParseFloat(cleaned, 64); err != nil { return nil, err } output = append(output, parsedValue) } return output, nil } // ParseTimes parses a list of times with a given format. func ParseTimes(layout string, values ...string) ([]time.Time, error) { var output []time.Time var parsedValue time.Time var err error for _, value := range values { if parsedValue, err = time.Parse(layout, value); err != nil { return nil, err } output = append(output, parsedValue) } return output, nil }