Dart 2進数の文字列を10進数の数値に変換する

Dart 2進数の文字列を10進数の数値に変換する

Dartで、2進数の文字列を10進数の数値に変換するコードを記述してます。「 parse 」に文字列と「radix: 2」を使用することで可能です。ここでは実際に実行した結果を掲載してます。

環境

  • OS windows11 home
  • Dart 2.18.4

2進数の文字列を10進数の数値に変換

2進数の文字列を10進数の数値に変換するするには、「 parse 」を使用します。

int.parse(文字列, radix: 2)

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

void main() {
  print(int.parse('11', radix: 2));
  // 3
  print(int.parse('111', radix: 2));
  // 7
  print(int.parse('-111', radix: 2));
  // -7
  print(int.parse('  -111 ', radix: 2));
  // -7
}

実行結果を見ると、変換されていることが確認できます。
※空白は無視されます。

2進数以外の文字

2進数以外の文字を指定するとエラーが発生します。

void main() {
  print(int.parse('G', radix: 16));
  // Unhandled exception:
  // FormatException: Invalid radix-2 number (at character 1)
}

「tryParse」を使用すると、エラーではなく「null」が返ります。

void main() {
  print(int.tryParse('22', radix: 2));
  // null
}

変換できない場合、指定した値を返したければ「??」演算子を使用します。

void main() {
  print(int.tryParse('22', radix: 2) ?? 0);
  // 0
}