📅  最后修改于: 2023-12-03 15:13:28.006000             🧑  作者: Mango
在编写 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");
。