compareTo method

  1. @override
int compareTo(
  1. FdcDecimal other
)
override

Compares this object to another object.

Returns a value like a Comparator when comparing this to other. That is, it returns a negative integer if this is ordered before other, a positive integer if this is ordered after other, and zero if this and other are ordered together.

The other argument must be a value that is comparable to this object.

Implementation

@override
int compareTo(FdcDecimal other) {
  if (scale == other.scale) {
    return scaledValue.compareTo(other.scaledValue);
  }
  final commonScale = scale > other.scale ? scale : other.scale;
  final left = _rescaleExact(
    scaledValue,
    fromScale: scale,
    toScale: commonScale,
  );
  final right = _rescaleExact(
    other.scaledValue,
    fromScale: other.scale,
    toScale: commonScale,
  );
  return left.compareTo(right);
}