C Windows编程中常用数据类型转换

    C Windows编程中常用数据类型转换

一. 其它数据类型转换成字符串型
1.       短整型 (int)
char temp[256];
int i;
itoa(i,temp,10);// i 转换为字符串放入 temp 中,最后一个数字表示十进制
itoa(i,temp,2);// 按二进制方式转换
itoa(i,temp,16);// 按十六进制方式转换
表头文件   #include<stdlib.h>
定义函数   char* itoa(int nValue, char *sz, int nRadix);
函数说明   将数字 i 转换为字符串放入 temp 中,最后一个参数表示进制。
范例:
#include<stdio.h>
#include<stdlib.h>
void main()
{
       int i=12;
       char temp[256];
       itoa(i,temp,10);
       printf("temp=%s\n",temp);
       itoa(i,temp,2);
       printf("temp=%s\n",temp);
       itoa(i,temp,16);
       printf("temp=%s\n",temp);
}
运行结果:
temp=12
temp=1100
temp=c
 
2.       长整性 (long)
char temp[256];
long l;
ltoa(l,temp,10);// l 转换为字符串放入 temp 中,最后一个数字表示十进制
表头文件   #include<stdlib.h>
定义函数   char* ltoa(long lnValue, char *sz, int nRadix);
函数说明   将数字 l 转换为字符串放入 temp 中,最后一个参数表示进制。
范例:
#include<stdio.h>
#include<stdlib.h>
void main()
{
       long i=600000;
       char temp[256];
       ltoa(i,temp,10);
       printf("temp=%s\n",temp);
}
运行结果:
temp=600000
 
3.       浮点数( float,double
表头文件   #include<stdlib.h>
定义函数   char* fcvt(double dValue, int nDig, int *pnDec, int *pnSign);
函数说明   第一个参数是浮点数,第二个参数是转换后保留的小数位数,第三个参数表示小数点的位置,第四个参数表示符号
范例: // 将浮点数转换为字符串
#include<stdio.h>
#include<stdlib.h>
void main()
{
       int decimal,sign;
       char *buffer;
       double source=3.1415926535;
       buffer=fcvt(source,7,&decimal,&sign);
       printf("source=% .10f \nbuffer=%s\ndecimal=%d\nsign=%d\n",source,buffer,decimal,sign);
}
运行结果:
source=3.1415926535
buffer=31415927
decimal=1
sign=0
说明: decimal 表示小数点的位置, sign 表示符号: 0 为正数, 1 为负数,
 
 
通用方法:用 sprintf 完成转换:
char buffer[200];  
char c=’a’;                 
int i=35;                   
long l=1000000;               
double f= 1.7320534f ;         
 
sprintf(buffer,”%c”,c);
sprintf(buffer,”%d”,i);
sprintf(buffer,”%d”,l);
sprintf(buffer,”%f”,f);
范例:
#include<stdio.h>
void main()
{
       char buffer[200];
       char c='a';
       int t=123;
       long l=666666;
       double f=456e-2;
       sprintf(buffer,"%c",c);
       printf("buffer=%s\n",buffer);
       sprintf(buffer,"%d",t);
       printf("buffer=%s\n",buffer);
       sprintf(buffer,"%d",l);
       printf("buffer=%s\n",buffer);
       sprintf(buffer,"%f",f);
       printf("buffer=%s\n",buffer);
}
运行结果:
buffer=a
buffer=123
buffer=666666
buffer=4.560000
 
二. 字符串转换为其它数据类型
Strcpy(temp,”123”);
1.       短整型 (int)
i=atoi(temp);
表头文件   #include<stdlib.h>
定义函数   int atoi(const char *nptr);
函数说明   atoi() 会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束 (‘\0’) 时才结束转换,并将结果返回。
返回值   返回转换后的整型数。
范例: // 将字符串 str1 与字符串 str2 转换成数字后相加
#include<stdio.h>
#include<stdlib.h>
void main()
{
       char str1[]="-1234";
       char str2[]="5678";
       int t1=atoi(str1);
       int t2=atoi(str2);
       int t3=t1+t2;
       printf("t1=%d\n",t1);
       printf("t2=%d\n",t2);
       printf("t3=%d\n",t3);
}
运行结果:
t1=-1234
t2=5678
t3=4444
 
2.       长整形 (long)
l=atol(temp);
表头文件   #include<stdlib.h>
定义函数   long atol(const char *nptr);
函数说明   atol() 会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束 (‘\0’) 时才结束转换,并将结果返回。
返回值   返回转换后的长整型数。
范例: // 将字符串 str1 与字符串 str2 转换成数字后相加
#include<stdio.h>
#include<stdlib.h>
void main()
{
       char str1[]="-12345678";
       char str2[]="3456789";
       long t1=atol(str1);
       long t2=atol(str2);
       long t3=t1+t2;
       printf("t1=%d\n",t1);
       printf("t2=%d\n",t2);
       printf("t3=%d\n",t3);
}
运行结果:
t1=-12345678
t2=3456789
t3=-8888889
 
3.       浮点 (double)
d=atof(temp);
表头文件   #include<stdlib.h>
定义函数   double atof(const char *nptr);
函数说明   atof() 会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束 (‘\0’) 时才结束转换,并将结果返回。参数 nptr 字符串可包含正负号、小数点或 E(e) 来表示指数部分,如 123.456 123e-2
返回值   返回转换后的浮点型数。
范例: // 将字符串 str1 与字符串 str2 转换成数字后相加
#include<stdio.h>
#include<stdlib.h>
void main()
{
       char str1[]="-123.45";
       char str2[]="34e2";
       double t1=atof(str1);
       double t2=atof(str2);
       double t3=t1+t2;
       printf("t1=% .2f \n",t1);
       printf("t2=% .2f \n",t2);
       printf("t3=% .2f \n",t3);
}
运行结果:
t1=-123.45
t2=3400.00
t3=3276.55
 

你可能感兴趣的:(windows,数据,职场,类型,休闲)