STM32 把浮点数转化为字符串
时间: 2023-11-19 17:05:38 浏览: 368
以下是使用 STM32 将浮点数转换为字符串的示例代码:
```c
#include <stdio.h>
#include <string.h>
#include "stm32f4xx.h"
char float_to_string(float f, char* buffer, int buffer_size)
{
if(buffer_size < 7) return 0; // Buffer size must be at least 7 (including null terminator)
int whole_part = (int)f;
float decimal_part = f - whole_part;
int decimal_digits = 4; // Number of decimal digits to display
int decimal_factor = 1;
for(int i=0; i<decimal_digits; i++) decimal_factor *= 10;
int decimal_part_int = (int)(decimal_part * decimal_factor);
sprintf(buffer, "%d.%04d", whole_part, decimal_part_int);
return 1;
}
int main(void)
{
char buffer[20];
float f = 3.14159;
float_to_string(f, buffer, sizeof(buffer));
printf("Float: %.4f\nString: %s\n", f, buffer);
return 0;
}
```
该函数将浮点数转换为字符串并存储在给定的缓冲区中。它使用 sprintf 函数将整数和小数部分格式化为字符串。请注意,该函数仅支持将浮点数转换为最多 4 位小数的字符串。如果需要更多的小数位数,可以增加 decimal_digits 变量的值。
阅读全文