sign property

num get sign

Returns minus one, zero or plus one depending on the sign and numerical value of the number. Returns minus one if the number is less than zero, plus one if the number is greater than zero, and zero if the number is equal to zero. Returns NaN if the number is NaN. Returns an int if this Number's value is an integer, a double otherwise.

Implementation

num get sign {
  if (isNaN) return double.nan;
  if (isNegative) return isInteger ? -1 : -1.0;
  if (toDouble() == 0) return isInteger ? 0 : 0.0;
  return isInteger ? 1 : 1.0;
}