C++中字符串和数字之间的转换
来源:互联网 发布:数据标准化处理 编辑:程序博客网 时间:2024/06/06 10:47
atof(将字符串转换成浮点型数)
atoi(将字符串转换成整型数)
atol(将字符串转换成长整型数)
strtod(将字符串转换成浮点数)
strtol(将字符串转换成长整型数)
strtoul(将字符串转换成无符号长整型数)
toascii(将整型数转换成合法的ASCII 码字符)
toupper(将小写字母转换成大写字母)
tolower(将大写字母转换成小写字母)
函数库中提供了这些转换函数
需要加上头文件stdlib.h
下面具体看看各个函数的使用
atof的声明
double atof (const char* str); //atof(将字符串转换成浮点型数)
参数是一个C风格的字符串。如果是C++中的string类型的呢?
用例子验证下:
#include <cstdio>#include <iostream>#include <stdlib.h>using namespace std;int main() { string str("12345"); float result = atof(str); cout << "result = " << result << endl; return 0;}
编译不通过,看下结果:
需要进行转换,string转为cosnt char *;可以使用C函数str.c_str();
#include <cstdio>#include <iostream>#include <stdlib.h>using namespace std;int main() { string str("12345"); float result = atof((const char *)str.c_str()); cout << "result = " << result << endl; return 0;}
这样就可以输出正确结果了。
同理其他涉及字符串转换的函数中,参数必须是C风格的字符串,使用c_str()进行stirng 到 char * 的转换。
这里需要注意后面的几个函数的参数形式:
double strtod(const char *nptr,char **endptr);
long int strtol(const char *nptr,char **endptr,int base);
unsigned long strtoul(const char *nptr,char **endptr,int base);
int toascii(int c);
0 0
- 字符串和数字之间的转换(C/C++)
- 字符串和数字之间的转换(C/C++)
- C/C++中字符串与数字之间的转换
- C/C++中数字与字符串之间的转换
- C/C++各种数字和字符串之间的转换函数
- C++中字符串和数字之间的转换
- JS数组中元素数字和字符串之间的转换
- C语言“字符串-数字”之间的转换
- 字符串和数字之间的相互转换
- 字符串和数字之间的转换
- 数字和字符串之间的转换
- 字符串和数字之间的转换
- 数字和字符串之间的转换
- 字符串和数字之间的转换
- 数字和字符串之间的转换
- 字符串和数字之间的互相转换
- C、C++中字符串和字符指针之间的转换
- C++/C 数字与字符串之间的转换
- 【miscellaneous】VLC组播与接收
- unity实现切换渲染模式
- 【 51NOD 1434 素数筛 】【数论+思维+筛素数】区间LCM【找到一个最小整数M,满足M>N,LCM(N+1,N+2,..,M-1,M)是LCM(1,2,3,4,.,N-1,N) 的倍数】
- android 自定义搜索框 + 搜索提示
- ArrayList去除集合中字符串的重复值(字符串的内容相同)
- C++中字符串和数字之间的转换
- linux如何设置终端的命令提示符组合
- 动态规划-硬币问题
- 嵌入式系统开发概述
- IFrame的使用以及表单的提交方式
- jquery高级之妙味云课堂笔记
- Gradle 用法总结
- 微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
- 第十三讲 文本,背景,边框不再单调