package tracer // toFloat64 attempts to convert value into a float64. If it succeeds it returns // the value and true, otherwise 0 and false. func toFloat64(value interface{}) (f float64, ok bool) { switch i := value.(type) { case byte: return float64(i), true case float32: return float64(i), true case float64: return i, true case int: return float64(i), true case int16: return float64(i), true case int32: return float64(i), true case int64: return float64(i), true case uint: return float64(i), true case uint16: return float64(i), true case uint32: return float64(i), true case uint64: return float64(i), true default: return 0, false } }