c语言double转char*
时间: 2023-12-23 16:02:33 浏览: 137
C语言中char型转string
3星 · 编辑精心推荐
C语言中,可以使用sprintf函数将double类型转换为char*类型。下面是一个示例代码,其中保留了8位小数,并且不足的位数会用0补齐:
```
char* GetDoubleStr(double value) {
char buf[32]={0};//长度可以自定义
sprintf(buf,"%.8f",value);//保留8位小数,不够补0
int index = 0;
int len = strlen(buf);
for(int i = len-1;i>0;i--) {
if(buf[i] == '0') continue;
else {
if(buf[i] == '.') index = i;
else index = i+1;
break;
}
}
buf[index] = '\0';
return buf;
}
```
需要注意的是,返回的char*类型指针指向的是一个局部变量buf,如果在函数外部使用该指针,可能会导致不可预知的错误。可以将buf定义为静态变量或者使用动态内存分配来避免这个问题。
阅读全文