C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)的数字。以下是用atoi()函数将字符串转换为整数的一个例子:

代码如下:

# include <stdio. h>
# include <stdlib. h>
void main (void) ;
void main (void)
{
    int num;
    char * str = "100";
    num = atoi(str);
    printf("The string 'str' is %s and the number 'num' is %d. \n",str, num);
}

atoi()函数只有一个参数,即要转换为数字的字符串。atoi()函数的返回值就是转换所得的整型值。

下列函数可以将字符串转换为数字:
------------------------------------------------------------------------
    函数名    作  用
------------------------------------------------------------------------
 atof()     将字符串转换为双精度浮点型值
 atoi()     将字符串转换为整型值
 atol()     将字符串转换为长整型值
 strtod()   将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字
 strtol()   将字符串转换为长整值,并报告不能被转换的所有剩余数字
 strtoul()  将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字
------------------------------------------------------------------------  
  
将字符串转换为数字时可能会导致溢出,如果你使用的是strtoul()这样的函数,你就能检查这种溢出错误。请看下例:

代码如下:

# include <stdio. h>
# include <stdlib. h>
# include <limits. h>
void main(void);
void main (void)
{
    char* str = "1234567891011121314151617181920" ;
    unsigned long num;
    char * leftover;
    num = strtoul(str, &leftover, 10);
    printf("Original string: %s\n",str);
    printf("Converted number: %1u\n" , num);
    printf("Leftover characters: %s\n" , leftover);
}

在上例中,要转换的字符串太长,超出了无符号长整型值的取值范围,因此,strtoul()函数将返回ULONG_MAX(4294967295),并使。char leftover指向字符串中导致溢出的那部分字符;同时,strtoul()函数还将全局变量errno赋值为ERANGE,以通知函数的调用者发生了溢出错误。函数strtod()和strtol()处理溢出错误的方式和函数strtoul()完全相同,你可以从编译程序文档中进一步了解这三个函数的有关细节。

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

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

    C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型.长整型.浮点型等)的数字.以下是用atoi()函数将字符串转换为整数的一个例子: # include <stdio. h> # ...

  2. 将字符数组中的字符转换为整型变量的数字 将字符串转换为数字

    首先要保证字符数组或字符串中的数据是数字,这样才能转换. 检测字符数组或字符串中是否为数字的方法: 遍历字符数组或字符串,检测是否有非数字字符,若有则无法转换,若没有则可以进行转换. 将字符数组或字符 ...

  3. Swift3.0语言教程字符串转换为数字值

    Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...

  4. c语言如何将字符转换为数字,C语言中一些将字符串转换为数字的函数小结

    C语言atoi()函数:将字符串转换成int(整数)头文件: #include atoi() 函数用来将字符串转换成整数(int),其原型为: int atoi (const char * str); ...

  5. c#语言中怎么样把文本转换成数字,如何将字符串转换为数字 - C# 编程指南 | Microsoft Docs...

    如何将字符串转换为数字(C# 编程指南) 02/16/2021 本文内容 你可以调用数值类型(int.long.double 等)中找到的 Parse 或 TryParse 方法或使用 System. ...

  6. C语言中的字符串转数字函数常见问题详解

    目录 C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 字符串转长整形 strtol函数, C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 函数原型: int a ...

  7. C/C++编程笔记:如何将字符串转换为数字,数字转换为字符串?

    通常,或更具体地说,在竞争性编程中,有许多情况需要将数字转换为字符串或将字符串转换为数字.但是缺乏某些必不可少的工具的知识使我们不得不这样做.本文介绍了一些实现此任务的方法. 将字符串转换为数字 方法 ...

  8. pandas使用read_csv读取文件数据、设置converters参数将百分比字符串转换为数字

    pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为数字 目录 pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为 ...

  9. python 如何将数字字符串转换为数字?

    将单个数字字符串转换为数字 def char2num(s):return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7 ...

最新文章

  1. Java中使用Observer接口和Observable类实践Observer观察者模式
  2. 掌握这几种平面设计思维类型,让你设计水平上新台阶
  3. python语言具有使用变量需要先定义后使用的特点_3、Python语法入门之变量
  4. 将您重定向的次数过多什么意思_电池循环次数是什么意思?怎么计算的?
  5. 智能制作,是我们改变时代的机会——阿里云视频云的理想与未来
  6. c# uri.host_C#| Uri.IsHexEncoding()方法与示例
  7. mysql主从是同步还是异步_mysql主从同步异步场景的分析
  8. Linux 命令(82)—— chgrp 命令
  9. 表迁移工具的选型-复制ibd的方法
  10. CSS属性之position
  11. 人工神经网络图像识别,人脸识别神经网络模型
  12. doc88、道客巴巴 文库文档下载
  13. G6 3.1 线条的属性
  14. C++(17):any
  15. 读书笔记 | 自动驾驶中的雷达信号处理(第9章 汽车雷达的应用概述)
  16. 地方出现新一轮救市 北广深或跟进释放住房需求
  17. Go爬取美女壁纸图片
  18. 《Cocos Creator游戏实战》虚拟摇杆实现
  19. 从刷支付宝乘地铁谈起,浅议大数据时代的隐私安全
  20. 计算机程序设计(c++)第2周编程作业

热门文章

  1. Aliplayer中自定义添加字幕的实现
  2. Linux下启停McAfee防病毒软件
  3. Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录
  4. 中专计算机春季2020招生学校,2020年春季招生的铁路学校
  5. 各大厂图鉴:阿里:加班多,华为:狼性;拼多多:暴发户
  6. 【移动计算技术(Android)】期末复习(HITWH)
  7. 区块链的共识机制有哪些好处优势?
  8. jQuery无缝轮播图思路详解-唯品会
  9. Base64到底是个啥编码? 我熬夜把它整明白了
  10. 叉乘与反对称矩阵(以i,j,k为基然后写成反对称矩阵与向量相称的形式)[w]_x