Dart 数値同士を比較する

  • 作成日 2022.10.11
  • 更新日 2022.10.21
  • Dart
Dart 数値同士を比較する

Dartで、数値同士を比較するコードを記述してます。

環境

  • OS windows11 home
  • Dart 2.18.1

数値同士を比較

数値同士を比較するには、「 compareTo 」を使用します。

数値.compareTo(数値)
// 左の方が大きければ -1 右の方が大きければ 1 同じであれば 0 が返ります

実際に、使用してみます。

void main() {
  print(1.compareTo(2)); // -1
  print(2.compareTo(1)); // 1
  print(1.compareTo(1)); // 0

  print(0.compareTo(-0)); // 0
  print(0.compareTo(0)); // 0
  print((-0).compareTo(-0)); // 0
  print((-0).compareTo(0)); // 0
}

実行結果を見ると、判定されていることが確認できます。

0や少数に使用

「0」に使用しても、少数に使用しても正しく判定されますが「0.0」と「-0.0」を比較すると「0.0」のほうが大きいと判定されます。

void main() {

  print((1.1).compareTo(1.2)); // -1
  print((1.2).compareTo(1.1)); // 1
  print((1.1).compareTo(1.1)); // 0

  print(0.compareTo(-0)); // 0
  print(0.compareTo(0)); // 0

  print((-0.0).compareTo(0.0)); // -1
  print((0.0).compareTo(-0.0)); // 1
  print((0.0).compareTo(0.0)); // 0
  
}

数値以外

数値以外を指定するとエラーが発生します。

void main() {

  print(('1').compareTo(1.2));

Error: The argument type 'double' can't be assigned to the parameter type 'String'.

}