intVal static method
Safely converts a dynamic value v to int.
Returns def if the value is null or cannot be parsed.
Example:
JsonCare.intVal("42"); // 42
JsonCare.intVal(3.14); // 3
Safely converts a dynamic value v to int.
Returns def if the value is null or cannot be parsed.
- If
vis double, it calls.toInt(). - If
vis String, it attempts to useint.tryParse, thendouble.tryParse.
Example:
JsonCare.intVal("42"); // 42
JsonCare.intVal("42.0"); // 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;
final doubleParsed = double.tryParse(v);
if (doubleParsed != null) return doubleParsed.toInt();
}
_logMismatchedType("int", v);
return def;
}