to method

double to(
  1. Unit newUnit
)

Implementation

double to(Unit newUnit) {
  if (unit == newUnit) return value;

  final oldStandardUnits = unit.toStandardUnits();
  final newStandardUnits = newUnit.toStandardUnits();

  if (!oldStandardUnits.canBeConvertedTo(newStandardUnits)) {
    throw ArgumentError("Can't convert $this to $newUnit");
  }

  // Read `isFinite`'s docs.
  if (!value.isFinite) {
    return value;
  }

  return value * oldStandardUnits.factor / newStandardUnits.factor;
}