我有一个 4 位宽的整数,我使用 sprintf 将其转换为字符串。 该字符串数组应该表示十进制数 XX.XX。 例如。
uint16_t Value;
char buff [10];
Value = 1234;
sprintf(buff,"%04d", (unsigned int)Value);
我希望在 LCD 或 UART 上将其显示为 12.34。 最简单(粗略)的方法是逐个元素地解析和输出数组,插入小数点,然后输出数组的其余部分。 有没有更优雅的方法来做到这一点?
如果您只使用 4 位宽的整数,一个简单的解决方案可能是:
#include <stdio.h>
int main() {
int number = 1234;
char buffer[200];
sprintf(buffer, "%d.%d", number/100, number%100);
printf("%s\n", buffer);
return 0;
}