C语言中将字符串转换为数字的方法
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语言中将字符串转换为数字的方法相关推荐
- 在javascript中将字符串转换为数字的6种方法
在javascript中,数字可以用两种不同的方式表示, 1.作为实际数字. 2. 作为字符串 . 很多时候,我们需要在javascript中将字符串转换为数字. 我们将看到6种不同的方法可以将字符串 ...
- Swift3.0语言教程字符串转换为数字值
Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...
- C++中将字符串转换为数字
C++中将字符串转换为数字 法一: int t = s[len - 1]-'0';//减去一个 '0' 是 将最后一位字母转换成数字 例如:这个判断基偶性就是为了防止越界所以将数组转换为数组传入,再将 ...
- 在 JavaScript 中将字符串转换为数字的 7 种方法
1. 使用 parseInt() parseInt()解析一个字符串并返回一个整数.允许空格.仅返回第一个数字. 这种方法虽然有一个限制.如果您解析十进制数,它将四舍五入到最接近的整数值,并将该值转换 ...
- C语言实现将字符串转换为数字的方法
C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型.长整型.浮点型等)的数字.以下是用atoi()函数将字符串转换为整数的一个例子: 代码如下: # include <stdio. h ...
- Oracle中将字符串转换为数字、to_number()函数的使用方法
Oracle将字符串转换为数字 将char或者varchar2类型的String转换为数值类型的格式,需要注意的是,被转换的字符串必须符合数值类型格式,否则报错. 1.to_number()函数的使用 ...
- c++ascii码转换为数字_在C++中将字符串转换为数字
有许多情况需要将数字转换为字符串或将字符串转换为数字.本文中提到了一些实现此任务的方法. 将字符串转换为数字 方法1:使用stringstream类或sscanf() 方法2:使用stoi()或ato ...
- 编程参考 - C语言中将字符串转换为整数(转)
C语言,主要有两种方法可以将字符串转为整数:atoi() 和 strtol(). 1,atoi() Syntax: int atoi(const char *str); 包含的头文件是:stdlib. ...
- 编程参考 - C语言中将字符串转换为整数
C语言,主要有两种方法可以将字符串转为整数:atoi() 和 strtol(). 1,atoi() Syntax: int atoi(const char *str); 包含的头文件是:stdlib. ...
最新文章
- 【Python】解析Python中类的使用
- 终于不瞎编了!AI学会了“谷歌一下”,回答问题正确率达90% | DeepMind
- 并发编程-19AQS同步组件之重入锁ReentrantLock、 读写锁ReentrantReadWriteLock、Condition
- 计算机都要学python吗_大学计算机要不要学python?
- Android4.4 Input 输入上层分析
- iptables 分析
- iMazing2.14.6Mac最新版iOS苹果设备管理器
- filezilla下载文件,如何使用filezilla下载文件
- 1.1 芯片研究背景及意义
- 教学概述+教学内容+教学原则+教学方法+教学组织...+教学模式和教学策略
- python列表是顺序表还是链表_Python 中的 List 是封装了顺序存储结构还是链表存储结构?...
- 一句代码让电脑定时重启,关机,取消关机
- bp神经网络权值调整公式,bp神经网络算法推导
- 名悦集团:下雪天怎么保养汽车?
- ROS 2行动-actions-
- [MicroPython]TurniBit开发板DIY自动窗帘模拟系统
- Redis-3-Java搭建Redis
- 解读全球云产业:一样的“云”,不一样的“推手”
- Python经典编程习题100例:第11例:古典兔子问题
- Vimeo上传功能中的SSRF