`
jiq408694711
  • 浏览: 36598 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

C语言“字符串-数字”之间的转换

 
阅读更多

http://www.cplusplus.com/reference/cstdlib/

定义函数 double atof(const char *nptr);
函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数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\n”,c);
}
执行 c=-98.23


定义函数 int atoi(const char *nptr);
函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
返回值 返回转换后的整型数。
附加说明 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\n”,c);
}
执行 c=356

定义函数 long atol(const char *nptr);
函数说明 atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
返回值 返回转换后的长整型数。
附加说明 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\n”,c);
}
执行 c=1234567890

定义函数 double strtod(const char *nptr,char **endptr);
函数说明 strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若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\n”,strtod(a,NULL,10));
printf(“b=%d\n”,strtod(b,NULL,2));
printf(“c=%d\n”,strtod(c,NULL,16));
}
执行 a=1000000000
b=512
c=65535

定义函数 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字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数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\n”,strtol(a,NULL,10));
printf(“b=%d\n”,strtol(b,NULL,2));
printf(“c=%d\n”,strtol(c,NULL,16));
}
执行 a=1000000000
b=512
c=65535


定义函数 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字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值 返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明 ERANGE指定的转换字符串超出合法范围。
范例 参考strtol()

分享到:
评论

相关推荐

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

    同时,为了输出或显示,可能需要将数字转换为字符串。在使用这些函数时,需要注意检查转换是否成功,以及处理可能出现的错误,例如无效的输入或溢出问题。 以下是一些示例代码片段,演示了如何使用这些函数: ```c...

    C语言字符串和数字转换函数

    ### C语言字符串和数字转换函数详解 #### 1. atof(将字符串转换成浮点型数) - **函数原型**: ```c #include double atof(const char *nptr); ``` - **功能描述**: `atof` 函数用于将一个字符串转换成浮点型数...

    各种C语言字符串函数-笔试面试必备

    ### 各种C语言字符串函数-笔试面试必备 在C语言中,字符串处理是程序员必须掌握的基本技能之一,尤其在笔试和面试环节中,考察字符串函数的使用与自定义实现非常常见。以下是对几种常见的C语言字符串函数的深入解析...

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

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

    C语言字符串数字提出.zip

    标题 "C语言字符串数字提出.zip" 涉及的核心知识点是C语言中处理字符串和提取数字的方法。在C语言中,字符串是由字符组成的数组,而从字符串中提取数字则需要运用到字符串处理函数和数值转换函数。下面我们将深入...

    C语言常用数字和字符串转换函数

    C语言常用数字和字符串转换函数,toi 字符串转换成整型数 atol 字符串转换成长整型数 atof 字符串转换成浮点型数 strtol 字符串转换成长整型数 strtoul 字符串转换成无符号长整型数 strtod 字符串转换成浮点数

    C语言中将数字转换为字符串的方法

    C语言中将数字转换为字符串的功能,虽然没有直接的内建函数,但可以通过标准库函数如itoa(), sprintf()以及针对浮点数的fcvt()或gcvt()来实现。下面详细介绍这些方法及其相关知识点。 1. itoa()函数 itoa()是一个非...

    C语言字符编码转换UNICODE、GBK、UTF-8互相转换

    在C语言中,进行字符编码转换通常涉及到内存操作和位操作,因为C语言没有内置的字符串类或者编码转换函数。以下是一些基本步骤: 1. **读取原始编码**:首先,你需要读取源文件或字符串,确定其当前的编码格式。这...

    C语言中把数字转换为字符串-sprintf

    在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比...

    c语言基础-c语言编程基础之字符串操作示例-数字转换成十六进制数.zip

    本文将深入探讨C语言中的字符串基础知识,并特别关注如何将数字转换为十六进制表示。C语言并不像高级语言那样内置了直接转换数字到十六进制的函数,因此我们需要自己编写代码来实现这一功能。 首先,让我们了解...

    字符串-16互转,字符串-2互转,浮点数-16互转,无符号互转

    本主题主要涉及四个关键的转换类型:字符串与16进制之间的转换、字符串与2进制之间的转换、浮点数与16进制之间的转换以及无符号整数之间的转换。以下是对这些转换的详细说明: 1. 字符串-16互转: 这个功能允许...

    数字字符串转整形c语言代码

    把一个数字字符串转换为整形,数字可以是大于2147483648的数字,可以是负数也可以是正数

    C语言开发----c语言实现数字雨.rar

    7. **字符串处理**:数字雨通常以字符串形式输出,因此需要了解如何将整数转换为字符串,如`itoa`函数(非标准C库,但常见于某些编译器),或者使用`snprintf`。 8. **数组和指针**:在存储和操作数字时,可能会...

    c语言实现设置ip、网关、子网掩码 时间字符串相互转换

    同时,我们还将讨论C语言中时间戳(time_t)与字符串之间的转换。 首先,让我们关注网络配置部分。在Linux系统中,通过C语言进行网络配置涉及到对系统调用和网络接口的直接操作。你可以使用`ifconfig`命令行工具来...

    自己动手写C语言float浮点数转换字符串的函数

    在C语言中,将浮点数转换为字符串是一项基本任务,常常用于数据的输出和文件存储。本篇文章将深入探讨如何自己动手编写一个C语言函数,实现`float`类型的浮点数转换为字符串的功能。首先,我们需要理解浮点数在...

    从字符串中提取连续的字符数字转换为整数

    从字符串中提取连续的字符数字转换为整数 本文档将详细介绍从字符串中提取连续的字符数字转换为整数的方法,並提供了完整的源代码,适合于那些想要编码实现字符串中提取连续的字符数字转换为整数的同学。 知识点1...

    c语言库函数大全--资料收集

    C语言库函数是编程中非常基础且重要的组成部分,它们提供了许多预定义的函数,帮助开发者进行数据处理、字符串操作、数学计算等任务。本篇文章将详细介绍来自`ctype.h`库的一些字符检查函数以及数学函数。 首先,...

    C语言实现将字符串转换为数字的方法

    在C语言中,将字符串转换为数字是一项常见的任务,这对于处理用户输入或解析文本数据至关重要。本文主要讨论了如何利用C语言的标准库函数将字符串转换为整数、长整数和浮点数。 首先,我们关注`atoi()`函数,它是...

    C语言二进制字符串与十六进制字符串相互转化

    本文将深入探讨如何在C语言环境中实现二进制字符串与十六进制字符串之间的转换,并结合MFC(Microsoft Foundation Classes)框架创建一个小工具来辅助这些操作。 首先,让我们理解二进制和十六进制的基本概念。二...

    C语言字符串处理函数扩展

    本篇将详细讲解在"C语言字符串处理函数扩展"这一主题中,可能涉及到的知识点。 首先,我们来看`stringAPIext.c`和`stringAPIext.h`这两个文件。`stringAPIext.c`通常包含实现这些扩展函数的代码,而`stringAPIext.h...

Global site tag (gtag.js) - Google Analytics