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