在C语言中怎样编写代码实现把浮点数转换成字符串

2025-03-09 09:48:48
推荐回答(2个)
回答1:

#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;

}

回答2:

包含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字符串中。