• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C语言中一些将字符串转换为数字的函数小结

C语言中一些将字符串转换为数字的函数小结

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c语言数字转字符串,c语言字符串变数字,c语言中字符串转数字,c语言字符串提取数字,c语言数字字符串等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C语言atoi()函数:将字符串转换成int(整数)
头文件:

#include <stdlib.h>
</div>

atoi() 函数用来将字符串转换成整数(int),其原型为:

int atoi (const char * str);
</div>

【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。

范例:将字符串a 与字符串b 转换成数字后相加。

#include <stdio.h>
#include <stdlib.h>
int main ()
{
 int i;
 char buffer[256];
 printf ("Enter a number: ");
 fgets (buffer, 256, stdin);
 i = atoi (buffer);
 printf ("The value entered is %d.", i);
 system("pause");
 return 0;
}
</div>

执行结果:

Enter a number: 233cyuyan
The value entered is 233.
</div>


C语言atof()函数:将字符串转换为double(双精度浮点数)
头文件:

#include <stdlib.h>
</div>

atol() 函数的名字源于“ascii to long”,用来将字符串转换成长整型数(long),其原型为:

  long atol(const char * str);
</div>

【函数说明】atol() 会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

【返回值】返回转换后的长整型数(long);如果 str 不能转换成 long 或者 str 为空字符串,那么将返回 0。

示例:将输入的字符串转换成long。

#include <stdio.h>
#include <stdlib.h>
int main ()
{
 long int li;
 char buffer[256];
 printf ("Enter a long number: ");
 fgets(buffer, 256, stdin);
 li = atol(buffer);
 printf ("The value entered is %ld.\n", li);
 system("pause");
 return 0;
}
</div>

执行结果:

Enter a long number: 1200cyuyan
The value entered is 1200.


</div>

C语言atof()函数:将字符串转换为double(双精度浮点数)
头文件:

#include <stdlib.h>
</div>

函数 atof() 用于将字符串转换为双精度浮点数(double),其原型为:

double atof (const char* str);
</div>

atof() 的名字来源于 ascii to floating point numbers 的缩写,它会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数str 字符串可包含正负号、小数点或E(e)来表示指数部分,如123. 456 或123e-2。

【返回值】返回转换后的浮点数;如果字符串 str 不能被转换为 double,那么返回 0.0。

温馨提示:ANSI C 规范定义了 stof()、atoi()、atol()、strtod()、strtol()、strtoul() 共6个可以将字符串转换为数字的函数,大家可以对比学习;使用 atof() 与使用 strtod(str, NULL) 结果相同。另外在 C99 / C++11 规范中又新增了5个函数,分别是 atoll()、strtof()、strtold()、strtoll()、strtoull(),在此不做介绍,请大家自行学习。

范例:

#include <stdio.h>
#include <stdlib.h>
int main(){
 char *a = "-100.23",
   *b = "200e-2",
   *c = "341",
   *d = "100.34cyuyan",
   *e = "cyuyan";
 printf("a = %.2f\n", atof(a));
 printf("b = %.2f\n", atof(b));
 printf("c = %.2f\n", atof(c));
 printf("d = %.2f\n", atof(d));
 printf("e = %.2f\n", atof(e));
 system("pause");
 return 0;
}
</div>

执行结果:

a = -100.23
b = 2.00
c = 341.00
d = 100.34
e = 0.00
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • c语言 数据结构实现之字符串
  • C语言中一些将字符串转换为数字的函数小结
  • C语言求两个字符串的最长公共子串
  • C语言实现将字符串转换为数字的方法
  • C语言中字符串和数字的相互转换实现代码
  • 用c语言根据可变参数合成字符串的实现代码

相关文章

  • 2017-05-28用C语言来实现一个简单的虚拟机
  • 2017-05-28详解C语言gets()函数与它的替代者fgets()函数
  • 2017-05-28C++编译器无法捕捉到的8种错误实例分析
  • 2017-05-28C语言中qsort函数用法实例小结
  • 2017-05-28linux使用gcc编译c语言共享库步骤
  • 2017-05-28c语言中return与exit的区别浅析
  • 2017-05-28C++中可正确获取UTF-8字符长度的函数分享
  • 2017-05-28深入解析C++编程中的纯虚函数和抽象类
  • 2017-05-28如何用矩形法(梯形法)求定积分
  • 2017-05-28c语言程序设计文件操作方法示例(CreateFile和fopen)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言字符串原地压缩实现方法
    • C++简单集合类的实现方法
    • C语言柔性数组实例详解
    • C语言中压缩字符串的简单算法小结
    • win32 api实现2048游戏示例
    • C++设计模式编程中的观察者模式使用示例
    • 距离详解Linux下的UDP方式通讯
    • 关于c++ 智能指针及 循环引用的问题
    • xxx_cast类型转换的实现方法
    • C++中memcpy和memmove的区别总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有