Метод compareTo
- num other
Сравнивает это значение с other.
Возвращает отрицательное число, если this меньше other, ноль, если они равны, и положительное число, если this больше other.
Порядок, задаваемый этим методом, является полным порядком значений num. Все различные значения double не равны, также как и все различные целые числа, но целые числа равны double, если у них одинаковое числовое значение.
Для значений double операция compareTo отличается от частичного порядка, задаваемого operator==, operator< и operator>. Например, IEEE double накладывает, что 0.0 == -0.0 и все операции сравнения с NaN возвращают false.
Эта функция накладывает полный порядок для double. При использовании compareTo, выполняются следующие свойства:
- Все значения NaN считаются равными и больше любого числового значения.
- -0.0 меньше 0.0 (и целого числа 0), но больше любого ненулевого отрицательного значения.
- Отрицательная бесконечность меньше всех остальных значений, а положительная бесконечность больше всех значений, кроме NaN.
- Все остальные значения сравниваются по их числовому значению.
Примеры:
print(1.compareTo(2)); // => -1 print(2.compareTo(1)); // => 1 print(1.compareTo(1)); // => 0 // The following comparisons yield different results than the // corresponding comparison operators. print((-0.0).compareTo(0.0)); // => -1 print(double.nan.compareTo(double.nan)); // => 0 print(double.infinity.compareTo(double.nan)); // => -1 // -0.0, and NaN comparison operators have rules imposed by the IEEE // standard. print(-0.0 == 0.0); // => true print(double.nan == double.nan); // => false print(double.infinity < double.nan); // => false print(double.nan < double.infinity); // => false print(double.nan == double.infinity); // => false
Реализация
int compareTo(num other);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/num/compareTo.html