intVal static method

int intVal(
  1. dynamic v, {
  2. int def = 0,
})

Safely converts a dynamic value v to int.

Returns def if the value is null or cannot be parsed.

  • If v is double, it calls .toInt().
  • If v is String, it attempts to use int.tryParse.

Example:

JsonCare.intVal("42"); // 42
JsonCare.intVal(3.14); // 3

Implementation

static int intVal(dynamic v, {int def = 0}) {
  if (v == null) return def;
  if (v is int) return v;
  if (v is double) return v.toInt();
  if (v is String) {
    final parsed = int.tryParse(v);
    if (parsed != null) return parsed;
  }
  _logMismatchedType("int", v);
  return def;
}