0Pricing
Dart Academy · 课时

解析和转换数字

在字符串和数字之间相互转换

解析和转换数字 是 CoddyKit 上的免费 Dart Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Dart Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Dart Academy 课程共包含 4 节课。

文本不是数字

用户输入和文件都会以字符串形式传入。文本 "42" 必须先通过 parse 转换为真正的数字,才能进行数学运算。🔄

解析为 int

调用 int.parse 可以将只包含数字的字符串转换为 int。结果是真正的数字,您可以对它进行加法、比较或存储。

void main() {
  int n = int.parse('42');
  print(n + 1); // 43
}

解析为 double

对于包含小数的文本,请使用 double.parse。它会识别小数点,并提供可以进行小数运算的浮点值。

void main() {
  double d = double.parse('3.14');
  print(d); // 3.14
}

输入错误会抛出异常

如果文本不是有效数字,parse 会抛出 FormatException 并停止程序。未经检查的输入存在风险。

void main() {
  int.parse('hello'); // FormatException
}

使用 tryParse 更安全

当输入可能格式混乱时,请使用 int.tryParse。它会返回 null,而不是抛出异常,这样您就可以从容地处理失败情况。

void main() {
  print(int.tryParse('oops')); // null
}

失败时使用默认值

将 tryParse 与 ?? 运算符结合,可以提供备用值。如果解析失败,程序就会安静地使用合理的默认值。

void main() {
  int n = int.tryParse('x') ?? 0;
  print(n); // 0
}

数字转字符串

反过来可以使用 toString。它会将任意数字转换为文本,之后您可以拼接、保存或显示给用户。

void main() {
  print(42.toString()); // '42'
}

控制小数位数

使用 toStringAsFixed,可以将 double 格式化为指定小数位数的文本。这非常适合价格和整洁的报告。

void main() {
  print(3.14159.toStringAsFixed(2)); // '3.14'
}

使用进制解析

int.parse 接受一个进制参数,用于读取其他进制。传入 16 即可解析十六进制字符串,例如将 "ff" 转换为 255。

void main() {
  print(int.parse('ff', radix: 16)); // 255
}

num 可解析两种类型

当文本可能表示 int 或 double 时,num.parse 会自动判断。它会为您返回最合适的数字类型。

void main() {
  print(num.parse('7'));   // 7
  print(num.parse('7.5')); // 7.5
}

解析前先去除空格

多余的空格可能导致解析失败。请先调用 trim,这样 " 42 " 就会变成解析器可以直接接受的干净文本 "42"。

void main() {
  print(int.parse(' 42 '.trim())); // 42
}

快速检查

哪个调用可以避免无效输入导致程序崩溃?

回顾

对于可信文本使用 parse,对于有风险的输入使用 tryParse 和 ??。可以通过 toString 和 toStringAsFixed 转回文本。✅

常见问题解答

「解析和转换数字」课时是免费的吗?

是的 — 「解析和转换数字」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Dart Academy 课程的其余内容,请升级到 CoddyKit PRO。 Dart Academy 课程共包含 4 节课。

「解析和转换数字」这节课中我会学到什么?

在字符串和数字之间相互转换 你通过在浏览器中直接运行的动手代码来练习 Dart Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Dart Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Dart Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「解析和转换数字」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Dart Academy 课中编写并运行代码吗?

能。每节 Dart Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 算术运算和运算符优先级
  2. int 与 double 以及整数除法
  3. 解析和转换数字
  4. dart:math 工具包
← 返回 Dart Academy