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. 在javascript中将字符串转换为数字的6种方法

    在javascript中,数字可以用两种不同的方式表示, 1.作为实际数字. 2. 作为字符串 . 很多时候,我们需要在javascript中将字符串转换为数字. 我们将看到6种不同的方法可以将字符串 ...

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

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

  3. C++中将字符串转换为数字

    C++中将字符串转换为数字 法一: int t = s[len - 1]-'0';//减去一个 '0' 是 将最后一位字母转换成数字 例如:这个判断基偶性就是为了防止越界所以将数组转换为数组传入,再将 ...

  4. 在 JavaScript 中将字符串转换为数字的 7 种方法

    1. 使用 parseInt() parseInt()解析一个字符串并返回一个整数.允许空格.仅返回第一个数字. 这种方法虽然有一个限制.如果您解析十进制数,它将四舍五入到最接近的整数值,并将该值转换 ...

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

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

  6. Oracle中将字符串转换为数字、to_number()函数的使用方法

    Oracle将字符串转换为数字 将char或者varchar2类型的String转换为数值类型的格式,需要注意的是,被转换的字符串必须符合数值类型格式,否则报错. 1.to_number()函数的使用 ...

  7. c++ascii码转换为数字_在C++中将字符串转换为数字

    有许多情况需要将数字转换为字符串或将字符串转换为数字.本文中提到了一些实现此任务的方法. 将字符串转换为数字 方法1:使用stringstream类或sscanf() 方法2:使用stoi()或ato ...

  8. 编程参考 - C语言中将字符串转换为整数(转)

    C语言,主要有两种方法可以将字符串转为整数:atoi() 和 strtol(). 1,atoi() Syntax: int atoi(const char *str); 包含的头文件是:stdlib. ...

  9. 编程参考 - C语言中将字符串转换为整数

    C语言,主要有两种方法可以将字符串转为整数:atoi() 和 strtol(). 1,atoi() Syntax: int atoi(const char *str); 包含的头文件是:stdlib. ...

最新文章

  1. 【Python】解析Python中类的使用
  2. 终于不瞎编了!AI学会了“谷歌一下”,回答问题正确率达90% | DeepMind
  3. 并发编程-19AQS同步组件之重入锁ReentrantLock、 读写锁ReentrantReadWriteLock、Condition
  4. 计算机都要学python吗_大学计算机要不要学python?
  5. Android4.4 Input 输入上层分析
  6. iptables 分析
  7. iMazing2.14.6Mac最新版iOS苹果设备管理器
  8. filezilla下载文件,如何使用filezilla下载文件
  9. 1.1 芯片研究背景及意义
  10. 教学概述+教学内容+教学原则+教学方法+教学组织...+教学模式和教学策略
  11. python列表是顺序表还是链表_Python 中的 List 是封装了顺序存储结构还是链表存储结构?...
  12. 一句代码让电脑定时重启,关机,取消关机
  13. bp神经网络权值调整公式,bp神经网络算法推导
  14. 名悦集团:下雪天怎么保养汽车?
  15. ROS 2行动-actions-
  16. [MicroPython]TurniBit开发板DIY自动窗帘模拟系统
  17. Redis-3-Java搭建Redis
  18. 解读全球云产业:一样的“云”,不一样的“推手”
  19. Python经典编程习题100例:第11例:古典兔子问题
  20. Vimeo上传功能中的SSRF

热门文章

  1. 新塘系列linux_【一点资讯】重磅!增城这6条村又被广州点名!涉及中新、正果、小楼、新塘… www.yidianzixun.com...
  2. linux随笔1-操作系统基本概念
  3. 细粒度图像分类论文研读-2012
  4. 退出功能用例描述及用例分析
  5. QT快速设置QTableWidget表头内容
  6. 主题:50个令人惊奇的jQuery插件
  7. 谱聚类算法原理(一)
  8. Express的使用方法
  9. ubuntu解决无法上网问题
  10. 信息熵、相对熵、交叉熵公式及tensorflow代码