Spec-Zone.ru › Dart 2

dart:core

Метод compareTo

int compareTo(
  1. num other
)
override

Сравнивает это значение с 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API