`

C中常用的类型转换函数

阅读更多

源自:http://hi.baidu.com/hao_%BF%AA%D0%C4/blog/item/8d10ded72f036bd4a144df30.html

1、atof(将字符串转换成浮点型数)
相关函数
     atoi,atol,strtod,strtol,strtoul
表头文件
     #include <stdlib.h>
定义函数
     double atof(const char *nptr);
函数说明
     atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并 将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值
     返回转换后的浮点型数。
附加说明
     atof()与使用strtod(nptr,(char**)NULL)结果相同。
范例
     /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char *a=”-100.23”;
char *b=”200e-2”;
float c;
c=atof(a)+atof(b);
printf(“c=%.2f ”,c);
}
执行
     c=-98.23

2、atoi(将字符串转换成整型数)
相关函数
     atof,atol,atrtod,strtol,strtoul
表头文件
     #include<stdlib.h>
定义函数
     int atoi(const char *nptr);
函数说明
     atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
     返回转换后的整型数。
附加说明
     atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
范例
     /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d ”,c);
}
执行
     c=356

3、atol(将字符串转换成长整型数)
相关函数
     atof,atoi,strtod,strtol,strtoul
表头文件
     #include<stdlib.h>
定义函数
     long atol(const char *nptr);
函数说明
     atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
     返回转换后的长整型数。
附加说明
     atol()与使用strtol(nptr,(char**)NULL,10);结果相同。
范例
     /*将字符串a与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=” 234567890”;
long c;
c=atol(a)+atol(b);
printf(“c=%d ”,c);
}
执行
     c=1234567890

4、gcvt(将浮点型数转换为字符串,取四舍五入)
相关函数
     ecvt,fcvt,sprintf
表头文件
     #include<stdlib.h>
定义函数
     char *gcvt(double number,size_t ndigits,char *buf);
函数说明
     gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方 在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
返回值
     返回一字符串指针,此地址即为buf指针。
附加说明
    
范例
     #include<stdlib.h>
main()
{
double a=123.45;
double b=-1234.56;
char *ptr;
int decpt,sign;
gcvt(a,5,ptr);
printf(“a value=%s ”,ptr);
ptr=gcvt(b,6,ptr);
printf(“b value=%s ”,ptr);
}
执行
     a value=123.45
b value=-1234.56

5、strtod(将字符串转换成浮点数)
相关函数
     atoi,atol,strtod,strtol,strtoul
表头文件
     #include<stdlib.h>
定义函数
     double strtod(const char *nptr,char **endptr);
函数说明
     strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('')才结束转换, 并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数 点或E(e)来表示指数部分。如123.456或123e-2。
返回值
     返回转换后的浮点型数。
附加说明
     参考atof()。
范例
     /*将字符串a,b,c 分别采用10,2,16 进制转换成数字*/
#include<stdlib.h>
mian()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d ”,strtod(a,NULL,10));
printf(“b=%d ”,strtod(b,NULL,2));
printf(“c=%d ”,strtod(c,NULL,16));
}
执行
     a=1000000000
b=512
c=65535

6、strtol(将字符串转换成长整型数)
相关函数
     atof,atoi,atol,strtod,strtoul
表头文件
     #include<stdlib.h>
定义函数
     long int strtol(const char *nptr,char **endptr,int base);
函数说明
     strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如 base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用 16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束 时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
     返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
     ERANGE指定的转换字符串超出合法范围。
范例
     /* 将字符串a,b,c 分别采用10,2,16进制转换成数字*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d ”,strtol(a,NULL,10));
printf(“b=%d ”,strtol(b,NULL,2));
printf(“c=%d ”,strtol(c,NULL,16));
}
执行
     a=1000000000
b=512
c=65535

7、strtoul(将字符串转换成无符号长整型数)
相关函数
     atof,atoi,atol,strtod,strtol
表头文件
     #include<stdlib.h>
定义函数
     unsigned long int strtoul(const char *nptr,char **endptr,int base);
函数说明
     strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方 式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则 会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或 字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
     返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
     ERANGE指定的转换字符串超出合法范围。
范例
     参考strtol()

分享到:
评论

相关推荐

    浅谈C++中强制类型转换函数

    C++中强制类型转换函数是指使用强制类型转换操作符来实现类型转换的过程。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用,即const_cast、static_cast、dynamic_cast和reinterpret_cast。 const_...

    MySQL常用类型转换函数总结(推荐)

    连接字符串常用:concat函数。如sql查询条件的like查询, AND c.name like concat(#{param.name},’%’) 将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80’  2、Cast函数;CONVERT函数...

    VB类型转换函数

    以下列出的是VB中常用的类型转换函数及其简要说明: 1. **CBool(expression)** - **功能**:将表达式转换为布尔型。 - **参数**:任何有效的字符串或数值表达式。 - **返回类型**:Boolean - **说明**:非零值...

    C语言实现进制转换函数的实例详解

    在C语言中,实现进制转换函数需要两个参数:要转换的进制数和标示参数的进制类型。函数的主要逻辑是将输入的进制数转换为十进制数,输出结果。 函数的定义 ---------------- ```c #include #include #include ...

    vb类型转换函数VB中各种数据类型转换函数

    在Visual Basic(简称VB)编程语言中,类型转换函数扮演着至关重要的角色,尤其是在处理不同数据格式和进制之间的转换时。根据给定文件的信息,本文将深入探讨VB中的类型转换函数,涵盖从基本的数据类型转换到进制...

    C语言常用函数手册C函数速查

    本手册——"C语言常用函数手册",是C程序员的重要参考资料,涵盖了C语言中广泛使用的函数,帮助开发者快速查询和理解函数的用途、参数和返回值。 1. **标准库函数**: - **输入/输出函数**:如`printf`用于格式化...

    VB中各种数据类型转换函数

    VB中各种数据类型转换函数 1. 各种进制转换函数 一般的数据进制包括十进制,二进制,十六进制.十进制就是我们日常生活用到的数据进制,因此也是我们最熟悉和清楚的;二进制是计算机的基础进制,主要是因为便于用...

    C语言隐式类型转换规则

    4. **函数参数的类型转换**:在调用函数时,实际参数会被转换为函数声明中定义的形式参数的类型。 - 如 `void func(int i)` 函数调用 `func('a')` 时,字符 `'a'` 会被转换为 `int` 类型。 #### 五、示例分析 假设...

    C语言常用函数速查手册.pdf

    下面,我将从C语言常见的函数类型、函数库及使用场景等方面进行介绍,帮助你了解C语言中常用函数的相关知识点。 首先,C语言作为一种高效、灵活的编程语言,它提供了大量的内置函数,这些函数可以分成不同的类别,...

    C语言类型转换-自动类型转换、强制类型转换、指针类型转换

    在C语言中,类型转换是编程过程中的重要概念,它涉及到数据类型的相互转换,以便在不同数据类型之间进行运算或赋值。本篇文章将详细探讨C语言中的三种主要类型转换:自动类型转换、强制类型转换以及指针类型的转换。...

    C语言中数据类型转换及其应用探究.pdf

    数据类型转换指的是在C语言中不同数据类型之间的转换,这些转换主要分为算术类型转换、赋值类型转换、强制类型转换三种类型。了解和掌握这些转换对于编写高质量的C语言程序至关重要。 首先,我们要明确数据类型的...

    c语言常用函数库public

    标题提到的“c语言常用函数库public”主要涵盖了C语言中广泛使用的标准库函数,这些函数是C语言程序设计的基础。在这里,我们将深入探讨C语言的常用函数库及其重要性。 C语言的标准库,也被称为ANSI C或ISO C库,是...

    c语言字符串_数字转换函数大全

    在C语言中,字符串与数字之间的转换是编程中常见的需求,特别是在处理用户输入或解析文本数据时。...在实际项目中,根据需求选择合适的转换函数,确保数据类型正确无误,是编程过程中的一个重要环节。

    C语言常用的库函数总结

    - 数值转换函数,用于在不同数值类型之间进行转换。 - 执行控制函数如`abort`、`exit`等,用于异常终止程序或正常退出程序。 在编写C语言程序时,正确地使用这些库函数能够大大提高开发效率,并且有助于编写出更加...

    c语言数组访问及强制转换

    本文通过对C语言中数组访问机制及强制类型转换的深入分析,提供了一个实际的编程示例来解释如何将一维数组的指针转换为二维数组的指针,并成功传递给期望接收二维数组的函数。此外,还探讨了如何处理未知大小的二维...

    c语言字符串与数字转换函数

    C语言中提供了多种字符串与数字转换函数,以下是常用的几个函数: 1. atof() 函数:将字符串转换成浮点型数 atof() 函数的定义在stdlib.h头文件中,函数原型为:double atof(const char *nptr); atof() 函数会...

    C语言常用函数手册快速查询

    四、类型转换函数 1. 类型转换:`(类型)` 用于强制类型转换,`int`、`float`、`double` 等之间可以相互转换。例如 `(int)3.14` 将浮点数转换为整数。 五、控制流程函数 1. 条件判断:`if...else` 用于条件判断,`...

    AS400 sql常用函数和数据类型

    AS400 SQL 常用函数和数据类型 AS400 SQL 是一种强大的数据库管理系统,提供了多种函数和数据类型来满足不同的应用需求。下面将对 AS400 SQL 中常用的函数和数据类型进行详细介绍。 一、字符串函数 1. LENGTH ...

    Asp据类型转换函数

    Asp据类型转换函数: Cint(str):转换正数 True -1;False 0;日期 距离1899/12/31天数;时间 上午段 0;下午段 1; Cstr(str):日期 输出格式 yyyy/mm/dd;时间 输出格式 Am/Pm hh:mm:ss Clng(str):与...

    常用C语言函数快速查询

    9. **类型转换函数**:如(void*)cast, static_cast等,用于不同类型的变量之间的转换。 10. **位操作函数**:如位移操作符(, &gt;&gt;),位与(&)、位或(|)、位异或(^)等,这些在底层系统编程和数据编码中很有用。...

Global site tag (gtag.js) - Google Analytics