在Dart中把十进制转换成十六进制/将十六进制数字中转换成十进制的方法

1,384 阅读2分钟

十六进制数字,"通常被称为十六进制数字,是一个16位数的数字。它是基于16进制的数字系统,也被称为十六进制。

在Dart中,十六进制数字包括十进制数字(0-9)和从A到F的六个字母,即0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。42E或4C,4B,是十六进制数字的例子。

以十为基数的数字,或从0到9的数字,被称为 "十进制数字"。

45是一个十进制数字的例子。在这个快速教程中学习如何在Dart中把十进制转换为十六进制。

如何在Dart中把十进制数转换为十六进制数?

在这个例子中,一个基数为10的十进制数字在dart和flutter中被转换成基数为16的十六进制数字

十进制数字在Dart中使用int类型表示。它有一个toRadixString()方法,接受一个参数的基数。

Number.toRadixString(base)

对于Hexa ,基数可以是16,对于octal ,可以是8,对于binary ,可以是2。

下面是一个解析十进制到十六进制的例子的代码。

void main() {
  final decimalNumber = 158;
  final hexaNumber = decimalNumber.toRadixString(16); // 9e
  print(hexaNumber);
  final fiveDigitHexaNumber = hexaNumber.padLeft(5, '0');
  print(fiveDigitHexaNumber);

  int decimalNumber1 = int.parse('9e', radix: 16);
  print(decimalNumber1);
}

输出

9e
0009e

如果十六进制数字总是希望是5位数,使用下面给出的padLeft方法。

  final fiveDigitHexaNumber = hexaNumber.padLeft(5, '0');

它用零来追加左边的填充物。

如何在Dart中将十六进制数字解析为十进制数字?

这个例子在dart和flutter中把十六进制数字转换为十进制数字。

int 有一个parseInt 方法,该方法接收字符串数字和基数

语法

int.parseInt(String, {radix: base})

字符串是一串要转换的十六进制数字。基数是一个基数,如2,8,16,等等。

下面是一个将十六进制转换为十进制的例子的代码

void main() {
  final decimalNumber = 158;
  final hexaNumber = decimalNumber.toRadixString(16);
  print(decimalNumber.runtimeType);
  print(hexaNumber);
  final fiveDigitHexaNumber = hexaNumber.padLeft(5, '0');
  print(fiveDigitHexaNumber);

  int decimalNumber1 = int.parse('0009e', radix: 16);
  print(decimalNumber1);
}

输出

9e
0009e
158

结论

综上所述,学习了以下例子

  • 使用toRadixString 方法将十进制数转换成十六进制数
  • 使用parseInt() 方法将十六进制数转换为十进制数