asDouble function

double asDouble(
  1. Map<String, dynamic>? json,
  2. String key, {
  3. double defaultValue = 0.0,
})

Implementation

double asDouble(Map<String, dynamic>? json, String key, {double defaultValue = 0.0}) {
  if (json == null || !json.containsKey(key)) return defaultValue;
  var value = json[key];
  if (value == null) return defaultValue;
  if (value is double) return value;
  if (value is int) return value.toDouble();
  if (value is bool) return value ? 1.0 : 0.0;
  if (value is String) return double.tryParse(value) ?? defaultValue;
  return defaultValue;
}