double? asDoubleOrNull(Object? v) { if (v == null) return null; if (v is double) return v; if (v is num) return v.toDouble(); if (v is String) return double.tryParse(v); return null; }