㈠ 將十進制數轉化成二進制,八進制以及十六進制,要求用子函數。我們目前學了c語言函數的調用。
#include <stdio.h>
#include <string.h>
#include <STDLIB.H>
char* ftoa(double res, char *des, int type)
{
int i_integer;
double d_decimal;
char c_integer[200], c_decimal[200], idx= 1;
strcpy(des, "");
if(res < 0)
{
res= -res;
strcpy(des, "-");
}
i_integer= int(res); d_decimal = res- i_integer;
itoa(i_integer, c_integer, type);
strupr(c_integer);
strcat(des, c_integer);
c_decimal[0]= '.';
while(d_decimal != 0.0 && idx < 20)
{
i_integer= int(d_decimal *= type);
if(i_integer >= 0 && i_integer <= 9)
c_decimal[idx++]= i_integer + 0x30;
else
c_decimal[idx++]= i_integer + 0x37;
d_decimal-= i_integer;
}
c_decimal[idx]= '\0';
return strcat(des, c_decimal);}
void main()
{
char tem[500];
printf("%s\n", ftoa(-17.5, tem, 2));
printf("%s\n", ftoa(23, tem, 8));
printf("%s\n", ftoa(23, tem, 16));
printf("%s\n", ftoa(23.32, tem, 16));
}
㈡ C語言函數庫 里有沒有 把字元串轉化為浮點數 的函數啊
可以採用庫函數atof, 頭文件為#include <stdlib.h>
函數名: atof
功 能: 把字元串轉換成浮點數
用 法: double atof(const char *nptr);
實例:
#include<stdlib.h>
#include<stdio.h>
intmain()
{
double d;
char*str="12345.67";
d=atof(str);
printf("string=%sdouble=%lf\n",str,d);
return 0;
}
㈢ C語言做一個強制轉換的函數--本人初學者
函數需有返回值,或者直接用引用傳遞
#include <stdio.h>
char ftoa(float i);
char main()
{
char strtemp;
float a=3.1415926;
strtemp=ftoa(a);
printf("%i\n",strtemp);
}
char ftoa(float i)
{
char str;
str=(char)i;
return str;
}
#include <stdio.h>
void ftoa(float i,char *str);
char main()
{
char strtemp;
float a=3.1415926;
ftoa(a,&strtemp);
printf("%i\n",strtemp);
}
void ftoa(float i,char *str)
{
*str=(char)i;
}
㈣ ftoa函數和atof函數如何使用
ftoa:浮點數強製成字元串,這個不是C標准庫中的函數,而是Windows平台下擴展的,標准庫中有sprintf,功能比這個更強,用法跟printf類似:
charstr[255];
sprintf(str,「%f」,10。8);//將10。8轉為字元串。
c++中有itoa,沒有ftoa,要使用自己編寫。
一般用:
CStringstr;str。Format(「%f」,1。2345);AfxMessageBox(str)。
(4)c語言ftoa擴展閱讀:
間斷點是指:在非連續函數y=f(x)中某點處xo處有中斷現象,那麼,xo就稱為函數的不連續點。
設一元實函數f(x)在點x0的某去心鄰域內有定義。如果函數f(x)有下列情形之一:
(1)函數f(x)在點x0的左右極限都存在但不相等,即f(x0+)≠f(x0-);
(2)函數f(x)在點x0的左右極限中至少有一個不存在;
(3)函數f(x)在點x0的左右極限都存在且相等,但不等於f(x0)或者f(x)在點x0無定義。
㈤ c語言中要求寫一個函數::將一個已經確定是浮點的數a (float a) 轉變成字元串 例如:
#include <stdio.h>
#include <math.h>
#include <string.h>
char* my_itoa(int value,char *str,int radix) //itoa將整數轉換成字元串,radix基數。
{
int sign = 0;
char ps[32]={0};
int i=0;
if(value < 0)
{
sign = -1;
value = -value;
}
do
{
if(value%radix>9)
ps[i] = value%radix +'0'+7;
else
ps[i] = value%radix +'0';
i++;
}while((value/=radix)>0);
if(sign<0)
ps[i] = '-';
else
i--;
for(int j=i;j>=0;j--)
str[i-j] = ps[j];
return str;
}
char *my_ftoa(double number,int ndigit,char *buf)
{
long int_part;
double float_part;
char str_int[32]={0};
char str_float[32]={0};
int_part = (long)number;
float_part = number - int_part; // 整數部分處理
my_itoa(int_part,str_int,10); // 小數部分處理
if(ndigit>0)
{
float_part =fabs( pow(10,ndigit)*float_part);
my_itoa((long)(float_part+0.5),str_float,10); //float_part後面加0.5可以提高精度。
}
int i = strlen(str_int);
str_int[i] = '.';
strcat(str_int,str_float);
strcpy(buf,str_int);
return buf;
}
int main()
{
double a=-32443.30005;
char str[32]={0};
printf("%s",my_ftoa(a,6,str));
printf("\n");
return 0;
}
㈥ c語言中的ftoa函數的作用以及它的頭文件是什麼
按函數名字理解可能是將浮點數轉為字元串。
其功能應該與sprintf相類似。
但我在TC\VC函數庫中均沒有找到此函數,只有itoa() atoi()等等
中國物聯網校企聯盟技術部
㈦ 在c語言中 ftoa函數是怎麼實現的求例子!
用遞歸,一般通過*10或者%10將數值分解成單個字元
比如123 % 10 = 3; 12 % 10 = 2; 1%10 = 1
㈧ C語言如何找出指定字母後的浮點數
#include#include#includechar*my_itoa(intvalue,char*str,intradix)//itoa將整數轉換成字元串,radix基數。{intsign=0;charps[32]={0};inti=0;if(value9)ps[i]=value%radix+'0'+7;elseps[i]=value%radix+'0';i++;}while((value/=radix)>0);if(sign=0;j--)str[i-j]=ps[j];returnstr;}char*my_ftoa(doublenumber,intndigit,char*buf){longint_part;doublefloat_part;charstr_int[32]={0};charstr_float[32]={0};int_part=(long)number;float_part=number-int_part;//整數部分處理my_itoa(int_part,str_int,10);//小數部分處理if(ndigit>0){float_part=fabs(pow(10,ndigit)*float_part);my_itoa((long)(float_part+0.5),str_float,10);//float_part後面加0.5可以提高精度。}inti=strlen(str_int);str_int[i]='.';strcat(str_int,str_float);strcpy(buf,str_int);returnbuf;}intmain(){doublea=-32443.30005;charstr[32]={0};printf("%s",my_ftoa(a,6,str));printf("\n");return0;}
㈨ c語言問題-把數字轉換為字元數組
1.
如果你的字元串里只有一個字元,即只有
a[0]
=
'0',沒有
a[1]、a[2]
等,那麼用
a[0]
-
'0'
就可以得到整數
0
2.
如果你的字元串里不只一個字元,那麼要看它到底能不能轉換成
0,比如
"000"
就可以轉換成
0,但
"012"
轉換後得到
12,這個轉換可以用標准庫里的
atoi
函數。