#include
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
intpows(intx)
{
inty=1;
for(;x!=0;x--)
y=y*10;
returny;
}
voiddisplay_result(doubleresult)
{
if(result<0)
{
printf("-");
display_result(-result);
}
if(result>0)
{
doublei;
intx;
uinty;
i=1;
for(x=0;i>=1;x++)
i=result/pows(x+1);
for(;x!=0;x--)
{
y=((uint)(result/pows(x-1)))%10;
printf("%d",y);
}
printf(".");
i=result-(uint)result;
for(x=0;x<6;x++)
{
y=((uint)(i*pows(x+1)))%10;
printf("%d",y);
}
}
}
intmain()
{
doublenum;
scanf("%lf",&num);
printf("%lf\n",num);
display_result(num);
return0;
}
扩展资料
C++中将字符串转换成浮点数
#include
#include
#include
使用命名空间std;
intmain()
{
std::stringstr=“3.14”;
std::stringstreamss(str);
浮动f;
ss>>f;
cout< 返回0; }
包含stdlib.h,直接用库函数gcvt:
#include
#include "stdlib.h"
int main(int argc,char *argv[]){
char s[18];
printf("%s\n",gcvt(3.1415926,10,s));
return 0;
}
这代码把3.1415926转换为字符串存放在s字符串中。