Arduino 的字符转换为整型

Ammar Ali 2023年10月12日
  1. 使用 Arduino 中的简单方法将 char 转换为 int
  2. 在 Arduino 中使用 toInt() 函数将 char 转换为 int
  3. 使用 Arduino 中的 Serial.parseInt() 函数将 char 转换为 int
Arduino 的字符转换为整型

本教程将讨论将 char 转换为 int 的三种方法。第一种方法是简单的方法,其中我们一次只能转换一个字符。第二种方法是使用 toInt() 函数,第三种方法是使用 Serial.parseInt() 函数。

使用 Arduino 中的简单方法将 char 转换为 int

此方法只能将单个 char 转换为 int。你需要从 char 中减去类型为 char 的零,以将其转换为 int

void loop() {
  char someChar = '2';  // variable to store char
  int someInt = someChar - '0';
}

在上面的代码中,someChar 是类型为 char 的变量,用于存储要转换的 char。你可以将其值更改为给定的 char 变量。someIntint 类型的变量,用于存储转换结果。如果给定变量不是单个 char,则使用以下方法。

在 Arduino 中使用 toInt() 函数将 char 转换为 int

在这种方法中,首先,将给定的 char 转换为 string,然后使用 toInt() 函数将 string 转换为 int

void loop() {
  char someChar = '3';
  String stringOne =
      String(someChar);  // converting a constant char into a String
  stringOne.toInt();
}

在上面的代码中,someChar 是类型为 char 的变量,用于存储给定的 charstringOneString 类型的变量。如果 string 不是以有效数字开头,则将无法进行转换,并且将返回零。查看链接以获取更多信息。

使用 Arduino 中的 Serial.parseInt() 函数将 char 转换为 int

如果你正在从 Arduino 的串口读取输入并将想要将接收到的输入转换为 Int,则可以使用此方法。

void loop() {
  if (Serial.available() > 0) {
    int valA = Serial.parseInt();
  }
}

如果未读取任何值或读取了非数字,则解析将停止。如果在超时前未读取任何有效输入,则将返回 0。请参见 Serial.setTimeout() 设置串行超时。查看此链接以获取有关 Serial.parseInt() 函数的更多信息。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - Arduino Integer