格式化字符串以插入小数点

问题描述 投票:0回答:1

我有一个 4 位宽的整数,我使用 sprintf 将其转换为字符串。 该字符串数组应该表示十进制数 XX.XX。 例如。

uint16_t Value;
char buff [10];
Value = 1234;
sprintf(buff,"%04d", (unsigned int)Value);

我希望在 LCD 或 UART 上将其显示为 12.34。 最简单(粗略)的方法是逐个元素地解析和输出数组,插入小数点,然后输出数组的其余部分。 有没有更优雅的方法来做到这一点?

arrays c string-formatting
1个回答
0
投票

如果您只使用 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;
}
© www.soinside.com 2019 - 2024. All rights reserved.