不用库函数,自己编写一个函数,编写double转字符串函数:void DouleToStr(double d,int n,char s[]),n是小数位数(精度),支持负数;
1条回答 默认 最新
- bostonAlen 2022-11-20 23:43关注
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstring> #include <cstdlib> using namespace std; void DouleToStr(double d, int n, char s[]) { n = n < 0 ? 0 : n; char dd[20]; switch (n) { case 0: sprintf(dd, "%.0lf", d); break; case 1: sprintf(dd, "%.1lf", d); break; case 2: sprintf(dd, "%.2lf", d); break; case 3: sprintf(dd, "%.3lf", d); break; case 4: sprintf(dd, "%.4lf", d); break; case 5: sprintf(dd, "%.5lf", d); break; case 6: sprintf(dd, "%.6lf", d); break; case 7: sprintf(dd, "%.7lf", d); break; default: sprintf(dd, "%.8lf", d); break; } char *p = (char*)malloc(strlen(dd)); strcpy(p, dd); strcpy(s, p); } int main() { double d = -3.1415926; char *dstr = (char*)malloc(20);; DouleToStr(d,8,dstr); cout << dstr; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 mac mini外接显示器 画质字体模糊
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写
- ¥20 Qcustomplot缩小曲线形状问题
- ¥15 企业资源规划ERP沙盘模拟
- ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
- ¥15 前端echarts坐标轴问题
- ¥15 ad5933的I2C
- ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
- ¥15 数学建模求思路及代码