📜  dart string to int - Dart (1)

📅  最后修改于: 2023-12-03 15:30:21.986000             🧑  作者: Mango

Dart中String转Int的几种方式

在Dart中,进行String和Int之间的转换是常见的操作。本文将介绍几种在Dart中将String转换为Int的方法。

方法1:int.parse()

int.parse()方法可将String类型转换为Int类型,代码如下:

String str = '123';
int num = int.parse(str);

其中str是待转换的数字字符串,num是转换后的整数。如果待转换的字符串不是数字类型,该方法将会抛出异常。可以通过onError参数来自定义异常处理。

方法2:int.tryParse()

int.tryParse()方法也是将String类型转换为Int类型的一种方法,但是与int.parse()方法不同的是,它不会抛出异常,而是返回null。代码如下:

String str = '123';
int num = int.tryParse(str);
if (num == null) {
  print('转换失败');
} else {
  print('转换成功:$num');
}

如果待转换的字符串不是数字类型,num将会为null

方法3:String类的基本操作

如果字符串中只包含数字字符(如'123'),我们也可以使用字符串的基本操作,将每个字符转为数字,然后相加得到整数。代码如下:

String str = '123';
int num = 0;
for (int i = 0; i < str.length; i++) {
  num = num * 10 + str.codeUnitAt(i) - '0'.codeUnitAt(0);
}

其中codeUnitAt()方法返回字符串中指定索引的字符的Unicode编码,'0'.codeUnitAt(0)为字符'0'的Unicode编码。

总结

以上就是在Dart中将String类型转换为Int类型的几种方法。其中int.parse()是最常见的一种方法,但在处理用户输入等情况时,我们可以使用int.tryParse()来避免异常。通过字符串的基本操作也可以实现转换,但是代码较为冗长,不太推荐。选择哪种方法要根据具体业务场景来定。