c++浮点转string
时间: 2023-10-28 12:02:20 浏览: 419
c++中double与string相互转换算法
在C语言中,将浮点数转换为字符串可以使用以下两种方法:
方法一:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* floatToString(float num) {
char* str = (char*)malloc(20 * sizeof(char)); // 假设最大长度为20
sprintf(str, "%f", num);
return str;
}
int main() {
float num = 10.11;
char* data = floatToString(num);
printf("data: %s\n", data);
free(data); // 释放内存
return 0;
}
```
此方法中,我们使用了sprintf函数将浮点数转换为字符串,并且将结果存储在动态分配的字符数组中。最后需要记得释放内存。
方法二:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* floatToString(float num) {
char* str = (char*)malloc(20 * sizeof(char)); // 假设最大长度为20
gcvt(num, 6, str); // 将浮点数转换为字符串,保留6位小数
return str;
}
int main() {
float num = 10.11;
char* data = floatToString(num);
printf("data: %s\n", data);
free(data); // 释放内存
return 0;
}
```
此方法中,我们使用了gcvt函数将浮点数转换为字符串,并且指定了保留的小数位数。同样需要记得释放内存。
参考文献:
https://www.programiz.com/cpp-programming/library-function/cstdio/sprintf
https://www.programiz.com/cpp-programming/library-function/cstdlib/gcvt
阅读全文