读书人

atof()转换有关问题,怎么不转换成科学

发布时间: 2013-10-19 20:58:22 作者: rapoo

atof()转换问题,如何不转换成科学计数法
num=atof(s1)+atof(s3);
ostringstream oss;
oss<<num;
k=oss.str();
M_show=k.c_str();

这是程序的部分代码,当输入的数字过大时,num会变为科学计数法表示,如何将科学计数法表示的num变为double类型,大神指导
我要保证double类型转变为字符串类型时,是使用普通的数组表示,谢谢各位了 类 atof()??科学计数法
[解决办法]
这样不行吗 加强转不行吗
num = double(atof(s1))+double(atof(s3));

[解决办法]

num=atof(s1)+atof(s3);
static char buf[40];
sprintf(buf,"%.15lg",num);
M_show=(char *)buf;

[解决办法]
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main() {
char s1[100]="21";
char s3[100]="19";
char *M_show;
double num;
static char buf[40];

num=atof(s1)+atof(s3);
sprintf(buf,"%.15lg",num);
M_show=(char *)buf;
cout<<M_show;//40
return 0;
}

读书人网 >C语言

热点推荐