我需要将 uint16_t 值转换为字符串。我希望字符串是数字的十进制表示。
示例:uint16_t i=256 字符串:256
我尝试过,itoa(i,string, 10)
但是当i
值增加时开始打印负值。
我通过串行端口发送字符串。(UART)
有其他选择吗?
我需要将 uint16_t 值转换为字符串。我希望字符串是数字的十进制表示。
示例:uint16_t i=256 字符串:256
我尝试过,itoa(i,string, 10)
但是当i
值增加时开始打印负值。
我通过串行端口发送字符串。(UART)
有其他选择吗?
sprintf
与%u
格式一起使用unsigned int
:
uint16_t i = 33000;
sprintf(str, "%u", i);
您可以尝试使用sprintf()
常见的“到字符串”转换。例如:
#include <stdio.h>
#include <math.h>
int main() {
uint16_t i = 256;
char str[80];
int str_len = sprintf(str, "%d", i);
return(0);
}
有关更多信息,请查看这篇文章。