C/C++ 字符串转数字
字符串转数字
C
<stdlib.h>
in C
<cstdlib>
in C++
C有两个转换函数:
atoi
strtol
这两个函数都不会出异常 只会执行到出错位置后返回当前结果 默认结果为0
atoi
int atoi (const char * str);
只能转换10进制的数字字符串为数字
#include <iostream>int main(){printf("%d %d %d\n",atoi("1000"),atoi("a1000"),atoi("100a0"));return 0;
}
结果
1000 0 100
strtol
long int strtol (const char* str, char** endptr, int base);
参数 | |
---|---|
str | 数字字符串 |
endptr |
指向数字解析完后的地址(下一位)可为NULL
|
base | 进制[2,36] |
#include <iostream>int main(){char *end;const char*s = "0x1000";const char*sp="10a3";printf("%d ",strtol(s,&end,16));printf("[end]:%d\n",end-s);printf("%d ",strtol(sp,&end,10));printf("[end]:%d\n",end-sp);return 0;
}
输出
4096 [end]:6
10 [end]:2
cpp stoi
<string>
int stoi (const string& str, size_t* idx = 0, int base = 10);
int stoi (const wstring& str, size_t* idx = 0, int base = 10);
idx 参数与strtol
的 endptr 参数作用相同 都是指向数字解析完的下一位 可为nullptr
如果base为0 则进制由字符串格式决定
#include <iostream>
#include <string>int main(){std::string str_dec = "2001, A Space Odyssey";std::string str_hex = "40c3";std::string str_bin = "-10010110001";std::string str_auto = "0x7f";std::string::size_type sz; // alias of size_tint i_dec = std::stoi (str_dec,&sz);int i_hex = std::stoi (str_hex,nullptr,16);int i_bin = std::stoi (str_bin,nullptr,2);int i_auto = std::stoi (str_auto,nullptr,0); // 16进制std::cout << str_dec << ": " << i_dec << " and [" << str_dec.substr(sz) << "]\n";std::cout << str_hex << ": " << i_hex << '\n';std::cout << str_bin << ": " << i_bin << '\n';std::cout << str_auto << ": " << i_auto << '\n';return 0;
}
结果为
2001, A Space Odyssey: 2001 and [, A Space Odyssey]
40c3: 16579
-10010110001: -1201
0x7f: 127
参考
- atoi
- strtol
- stoi
C/C++ 字符串转数字相关推荐
- python字符串拼接数字_python字符串和数值操作函数大全(非常全)
字符串和数值型数字的操作大全 1.反斜杠\的使用规则:一般使用表示续行的操作,可以其他符号相结合组成其他的一些使用符号,转义字符\'的使用会识别引号,使得字符串中的引号和外面本来的啊引号相区分. (1 ...
- iOS 改变字符串中数字的颜色
匹配中文字符 [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内) [^\x00-\xff] 匹配网址:[a-zA-z]+://[^\s]* 匹配国内电话 \d{3}-\d{8}|\d{4} ...
- SCRIPT1028:缺少标识符、字符串或数字 jquery ajax
2019独角兽企业重金招聘Python工程师标准>>> SCRIPT1028:缺少标识符.字符串或数字 使用jquery时报此错误 究其原因是对象键值对格式错误: 原格式: 多了 ...
- pandas使用read_csv读取文件数据、设置converters参数将百分比字符串转换为数字
pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为数字 目录 pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为 ...
- C/C++中字符串与数字之间的转换
主要有两种方式:C 中能够使用 sprintf 将数字转为字符数组,sscanf 将字符数组转为数字:而在 C++ 中不仅能够使用 C 中的方法,还能够使用 stringstream 实现字符串与数字 ...
- 如何用计算机猜数字,杭电2010计算机复试笔试题 2道acm简单题(2010):1.猜数字游戏;2.字符串提取数字并求和;...
//第一题是猜数字的游戏. //题目:随即产生一个3位的正整数,让你进行猜数字, //如果猜小了,输出:"猜小了,请继续". //如果猜大了,输出:"猜大了,请继续&qu ...
- js 判断是不是数字||判断字符串是不是数字(正则表达式)
js使用正则表达式判断对象是不是数字,或者字符串是不是数字,或者是不是数字类型 1 //判断是不是一个数字 或者 一个字符串里全是数字 2 isNumber (value) { 3 if (value ...
- 判断字符串是不是数字
在网上看到一篇关于判断字符串是数字的函数, 感觉思路不错, 代码简洁, 我转载一下: 代码 public static bool isnum(string xtext) //判断字符串是不是数字 ...
- python统计字符串数字个数_python统计字符串中数字个数_后端开发
python怎么随机生成奇数_后端开发 python随机生成奇数的方法:导入random模块,使用random模块生成随机数,然后判断生成的随机数是否为奇数,若是奇数就加入列表.使用此方法得到的列表包 ...
- Swift3.0语言教程字符串转换为数字值
Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...
最新文章
- 波士顿动力副总裁:机器人一天就学会了芭蕾舞,尚未使用机器学习技术
- Java集合(一)、什么是Java集合?
- linux设备驱动学习,linux设备驱动学习4
- hihoCoder #1143 : 骨牌覆盖问题·一
- “宅家十大热销商品”榜单:确认过眼神,都是自己剪头发的人
- Docker Compose安装以及入门
- 华为v3鸿蒙系统_重磅!华为鸿蒙系统问世!
- 无人驾驶智能车竞速赛,智能大会无人驾驶比赛
- paddle 图标注_SPC控制图应用步骤
- D - Daydreaming Stockbroker Gym - 101550D
- vue项目AES密码加密解密
- 后台管理系统之用JQuery-validate做表单验证
- 江西计算机竞赛有哪些,江西自主招生认可的竞赛有哪些
- JAVA常用数据结构
- luogu P2015 二叉苹果树
- 史上最全RabbitMq详解
- AndroidStudio系统广播Broadcast电话监听
- python商品打折问题_利用Python“解剖”双11商家打折套路
- 【项目管理工具】Jira使用和配置
- Sublime Text 3103 Crack 破解 注册码