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

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

Dartで、16進数の文字列を10進数の数値に変換するコードを記述してます。「 parse 」に文字列と「radix: 16」を使用することで可能です。

環境

  • OS windows11 home
  • Dart 2.18.4

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

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

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

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

void main() {
  print(int.parse('A', radix: 16));
  // 10

  print(int.parse('F', radix: 16));
  // 15

  print(int.parse('-fF', radix: 16));
  // -255

  print(int.parse('   -10  ', radix: 16));
  // -16
}

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

16進数以外の文字

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

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

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

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

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

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