Spec-Zone.ru › Dart 1

dart:core

Метод compareTo абстрактный

int 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 Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/num/compareTo.html

Spec-Zone.ru

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