c语言浮点数转字符串
A. c语言里有没有函数可以把浮点型转化为字符串
有,char *gcvt(double v,int n,char *b)就是其一。其中b是存放转换后的字符串的空间首地址(指针),n是转换后的字符串的长度,v是要转换的浮点数。应用举例如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
charbuf[22];
doublex=-3.1415926;
printf("%s ",gcvt(x,4,buf));
return0;
}
B. C语言中将浮点数转换成字符串,然后字符串存入数组中该怎么写程序呢
char str_num[100]={0};
double num = 67.453;
sprintf(str_num,"%lf",num);
这样,str_num数组中就是该num浮动数了。
呵呵,是sprintf的使用啦,你可以看看
C. 在C语言中怎样编写代码实现把浮点数转换成字符串
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#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 ",num);
display_result(num);
return0;
}
(3)c语言浮点数转字符串扩展阅读
C++中将字符串转换成浮点数
#include<iostream>
#include<sstream>
#include<string>
使用命名空间std;
intmain()
{
std::stringstr=“3.14”;
std::stringstreamss(str);
浮动f;
ss>>f;
cout<<f+1;
返回0;
}
D. 单片机C语言中如何将浮点型变量转换成字符串输出
得出的值先保存到一个变量中 如结果为a= 4.234 如果要保留两位小数的话
unsigned int a=4.234*100;
unsigned char s[5];
s[0]=a/100+0x30;
s[1]='.'
s[1]=a%100/10+0x30;
s[2]=a%10+0x30;
E. c语言求一个float转换为字符串的函数,包括符号,小数
是以整型的位数为限的,输入位数太长了不行。
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"//
void main(void){
double rn=9876.5678;
int i=1000000000,k,pt=1,n;
char a[12]="";
printf("Enter a floating point number...\nrn=");
//scanf("%lf",&rn); //手工输入时把这一行开放.
while((rn/=10)>1.0) pt++;
n=(int)(rn*i);
while(!(n%10)){
n/=10;
i/=10;
}
for(k=0,i/=10;i>=1;i/=10){
a[k++]=n/i+'0';
n%=i;
if(k==pt) a[k++]='.';
}
printf("%s\n",a);
}
F. c语言中怎么把 [字符(%c) 转成 [浮点型(%f)]]
C语言在编译时,会自动进行数据类型的转换。像你这里,系统会自动把字符型转换为浮点型。所以,你担心的问题是不会出现的。就像你这样,直接写就可以了,让后用printf语句输出即可
printf(“%f”,c)
G. c语言里 怎样将单精度浮点型数转换成字符型
这个是br前辈的回答
链接在这里:http://..com/question/161721125.html
用gcvt函数!
函数名: gcvt
功 能: 把浮点数转换成字符串
用 法: char *gcvt(double value, int ndigit, char *buf);
例子:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
char str[25];
double dNum;
int n = 5;//需要转化的位数
//一般浮点数
dNum = 9.876;
gcvt(dNum, n, str);
printf( "string = %s\n", str);
//负数
dNum = -123.4567;
gcvt(dNum, n, str);
printf("string = %s\n", str);
//指数
dNum = 0.678e5;
gcvt(dNum, n, str);
printf("string = %s\n", str);
return 0;
}
满意请点赞,不满意请追问
H. C语言中如何把浮点型转换为字符型
浮点型转换为字符型一般需要计算的,比如现在浮点型是414.15f
转换为字符型,那么就需要将这串数据转换为ASCII码,单个数字单个数字转换:
定义一个缓冲区:char
Buffer[6]用于存放这几个数字;
接着:
将浮点型放大,转换为整型:(int)(414.15
*
100)
=
41415d
逐个取值:
for(i=0;i<6;i++)
{
41415
%
10
=
5
;
//求除以10的余数,从各位开始取值
10*10
=
100
;
//将除数放大10倍,一个循环后就编程了100,两个循环后是1000,以此求取各位上的数字;
Buffer[i]
=余数+'0';
//将各个位上的数字转化成字符型,存入缓冲区
}
I. 用C如何将一个浮点数转化成字符串
#include <iostream.h>
#include <string.h>
void main()
{
float a;
int b;
string string1;
cout<<"输入一个浮点数";
cin>>a;
b=int(a);
a-=b;
for(int i=0;a==0;i++)//算得整数部分的各个位上的数据,倒充输出
{
string1[i]=asc(a%10+30);//转化ascall码
a=a/10;
}
for(int j=0;j<i/2;j++)//将整数部分化为正确的顺序
{
char temp=string[j];
string[j]=string[i-j-1];
string[i-j-1]=temp;
}
string[i]='.';
i++;
j=i;
for(;b==0;i++)//输出小数部分
{
b=b*10;
a=int(b);
string[i]=asc(a+30);
b-=a;
}
}