📜  arduino 格式说明符 (1)

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

Arduino 格式说明符

在编写 Arduino 程序时,格式说明符是让程序员更好地控制输出格式的工具。通过使用格式说明符,程序员可以指定数字的表示方式、字段宽度和填充字符等等。

格式说明符列表

以下是常用的格式说明符:

| 符号 | 描述 | | ---- | ---- | | %d | 十进制整数 | | %f | 浮点数 | | %c | 单个字符 | | %s | 字符串 | | %b | 二进制数 | | %X | 十六进制数(大写字母) | | %x | 十六进制数(小写字母) | | %o | 八进制数 | | %lu | 无符号的长整型 | | %ld | 有符号的长整型 |

如何使用格式说明符
利用格式说明符进行数字输出

首先,我们需要使用 Serial.print() 或者是 Serial.println() 函数来输出数字。例如:

int num = 42;
Serial.println(num);

这样可以输出数字 42,但是如果我们需要对这个数字进行格式化输出,就需要使用格式说明符。比如要将 num 输出为八进制数,可以这么写:

int num = 42;
Serial.printf("The octal representation of %d is %o\n", num, num);

这段代码会输出 The octal representation of 42 is 52,其中 %d 表示要格式化输出的数字,%o 表示八进制数。

利用格式说明符进行字符串输出

和输出数字一样,我们同样可以使用 Serial.print() 或者是 Serial.println() 函数来输出字符串。例如:

String str = "Hello, world!";
Serial.println(str);

这样可以输出字符串 Hello, world!,但是同样可以使用格式说明符进行格式化输出。比如要将 str 输出为左对齐的字符串,可以这么写:

String str = "Hello, world!";
Serial.printf("The left-aligned string of %s is '%-20s'\n", str.c_str(), str.c_str());

这段代码会输出 The left-aligned string of Hello, world! is 'Hello, world! ',其中 %s 表示要格式化输出的字符串,%-20s 表示左对齐并且宽度为 20

注意事项
  • 在使用 Serial.printf() 函数时,需要注意传递参数的类型和数量要和格式字符串中的格式说明符匹配。
  • 如果格式说明符中指定的宽度小于数字或字符串的长度,将会被忽略。
  • 如果字符串中包含格式说明符,需要使用转义字符 % 来输出 % 符号,例如 Serial.printf("The percent sign: %%\n");