在实际编程过程中,我们经常需要将字符串和数值类型进行相互转换。在 Dart 中,这种操作相对简单且直观。本章将详细介绍如何在 Dart 中实现字符串与数值类型的相互转换。
字符串转为数值类型
在 Dart 中,可以使用 int.parse() 或 double.parse() 方法将字符串转换为整数或浮点数。需要注意的是,如果字符串不能被解析为相应的数字类型,那么这些方法会抛出一个异常。
整数转换示例
void main() {
String strNum = "42";
int num = int.parse(strNum);
print(num); // 输出:42
}浮点数转换示例
void main() {
String strFloat = "3.14";
double floatNum = double.parse(strFloat);
print(floatNum); // 输出:3.14
}错误处理
为了避免程序因无法转换的字符串而崩溃,可以使用 try-catch 语句来捕获并处理可能出现的异常。
// www.javascriptcn.com code example
void main() {
String invalidStr = "hello";
try {
int num = int.parse(invalidStr);
print(num);
} catch (e) {
print("无法转换该字符串为整数:$invalidStr");
}
}数值类型转为字符串
在 Dart 中,可以通过调用 .toString() 方法将数值类型转换为字符串。
整数转换示例
void main() {
int num = 42;
String strNum = num.toString();
print(strNum); // 输出:"42"
}浮点数转换示例
void main() {
double floatNum = 3.14;
String strFloat = floatNum.toString();
print(strFloat); // 输出:"3.14"
}格式化输出
在某些情况下,可能需要格式化输出的字符串,比如保留两位小数。这时可以使用 Dart 的 num.toStringAsFixed() 方法。
void main() {
double floatNum = 3.14159;
String formattedString = floatNum.toStringAsFixed(2);
print(formattedString); // 输出:"3.14"
}拼接字符串
除了转换之外,还可以通过字符串插值来拼接数值类型和其他数据。例如:
void main() {
int age = 30;
String name = "Alice";
String message = "我的名字是 $name,我今年 $age 岁。";
print(message); // 输出:"我的名字是 Alice,我今年 30 岁。"
}总结
通过上述介绍,我们可以看到 Dart 提供了多种方式来实现字符串与数值类型的相互转换。理解并掌握这些转换方法对于编写高效、可靠的 Dart 应用程序至关重要。在实际开发中,根据具体需求选择合适的转换方法,并注意错误处理,可以帮助我们避免潜在的问题。