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语言实现将字符串转换为数字的方法相关推荐
- C语言中将字符串转换为数字的方法
C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型.长整型.浮点型等)的数字.以下是用atoi()函数将字符串转换为整数的一个例子: # include <stdio. h> # ...
- 将字符数组中的字符转换为整型变量的数字 将字符串转换为数字
首先要保证字符数组或字符串中的数据是数字,这样才能转换. 检测字符数组或字符串中是否为数字的方法: 遍历字符数组或字符串,检测是否有非数字字符,若有则无法转换,若没有则可以进行转换. 将字符数组或字符 ...
- Swift3.0语言教程字符串转换为数字值
Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...
- c语言如何将字符转换为数字,C语言中一些将字符串转换为数字的函数小结
C语言atoi()函数:将字符串转换成int(整数)头文件: #include atoi() 函数用来将字符串转换成整数(int),其原型为: int atoi (const char * str); ...
- c#语言中怎么样把文本转换成数字,如何将字符串转换为数字 - C# 编程指南 | Microsoft Docs...
如何将字符串转换为数字(C# 编程指南) 02/16/2021 本文内容 你可以调用数值类型(int.long.double 等)中找到的 Parse 或 TryParse 方法或使用 System. ...
- C语言中的字符串转数字函数常见问题详解
目录 C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 字符串转长整形 strtol函数, C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 函数原型: int a ...
- C/C++编程笔记:如何将字符串转换为数字,数字转换为字符串?
通常,或更具体地说,在竞争性编程中,有许多情况需要将数字转换为字符串或将字符串转换为数字.但是缺乏某些必不可少的工具的知识使我们不得不这样做.本文介绍了一些实现此任务的方法. 将字符串转换为数字 方法 ...
- pandas使用read_csv读取文件数据、设置converters参数将百分比字符串转换为数字
pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为数字 目录 pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为 ...
- python 如何将数字字符串转换为数字?
将单个数字字符串转换为数字 def char2num(s):return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7 ...
最新文章
- Java中使用Observer接口和Observable类实践Observer观察者模式
- 掌握这几种平面设计思维类型,让你设计水平上新台阶
- python语言具有使用变量需要先定义后使用的特点_3、Python语法入门之变量
- 将您重定向的次数过多什么意思_电池循环次数是什么意思?怎么计算的?
- 智能制作,是我们改变时代的机会——阿里云视频云的理想与未来
- c# uri.host_C#| Uri.IsHexEncoding()方法与示例
- mysql主从是同步还是异步_mysql主从同步异步场景的分析
- Linux 命令(82)—— chgrp 命令
- 表迁移工具的选型-复制ibd的方法
- CSS属性之position
- 人工神经网络图像识别,人脸识别神经网络模型
- doc88、道客巴巴 文库文档下载
- G6 3.1 线条的属性
- C++(17):any
- 读书笔记 | 自动驾驶中的雷达信号处理(第9章 汽车雷达的应用概述)
- 地方出现新一轮救市 北广深或跟进释放住房需求
- Go爬取美女壁纸图片
- 《Cocos Creator游戏实战》虚拟摇杆实现
- 从刷支付宝乘地铁谈起,浅议大数据时代的隐私安全
- 计算机程序设计(c++)第2周编程作业
热门文章
- Aliplayer中自定义添加字幕的实现
- Linux下启停McAfee防病毒软件
- Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录
- 中专计算机春季2020招生学校,2020年春季招生的铁路学校
- 各大厂图鉴:阿里:加班多,华为:狼性;拼多多:暴发户
- 【移动计算技术(Android)】期末复习(HITWH)
- 区块链的共识机制有哪些好处优势?
- jQuery无缝轮播图思路详解-唯品会
- Base64到底是个啥编码? 我熬夜把它整明白了
- 叉乘与反对称矩阵(以i,j,k为基然后写成反对称矩阵与向量相称的形式)[w]_x