// ============================================ // handlers/traffic_handlers.go - COMPLET // ============================================ package handlers import ( "encoding/json" "strconv" ) // getFloatFromMap récupère un float64 depuis une map avec différents types func getFloatFromMap(m map[string]any, key string) (float64, bool) { value, exists := m[key] if !exists || value == nil { return 0, false } switch v := value.(type) { case float64: return v, true case float32: return float64(v), true case int: return float64(v), true case int64: return float64(v), true case int32: return float64(v), true case json.Number: f, err := v.Float64() if err != nil { return 0, false } return f, true case string: f, err := strconv.ParseFloat(v, 64) if err != nil { return 0, false } return f, true case []byte: s := string(v) f, err := strconv.ParseFloat(s, 64) if err != nil { return 0, false } return f, true default: return 0, false } }