c/c++再学习:常用字符串转数字操作
c/c++再学习:常用字符串转数字操作
能实现字符串转数字有三种方法,atof函数,sscanf函数和stringstream类。
具体demo代码和运行结果
#include "stdio.h"
#include <iostream>
#include <>
int main()
{
printf("字符串转数字:stof()函数 string转单精度浮点数\n");
std::string stof_str("686.123456789123456");
float stof_val = std::stof(stof_str);
printf("stof_val=%.9f\n", stof_val);
printf("字符串转数字:stod()函数 string转双精度浮点数\n");
std::string stod_str("686.123456789123456");
double stod_val = std::stod(stod_str);
printf("stod_val=%.9f\n", stod_val);
printf("字符串转数字:atof()函数\n");
char* atof_str = "123.123456789123456";
double atof_val = atof(atof_str);
printf("atof_val=%.9f\n", atof_val);
printf("字符串转数字:sscanf()函数\n");
char* strInt = "123456789";
int strInt_num = 0;
sscanf(strInt, "%d", &strInt_num);
printf("strInt_num=%d\n", strInt_num);
char* strLong = "1234567890123456789";
long long strLong_num = 0;
sscanf(strLong, "%lld", &strLong_num);
printf("strLong_num=%lld\n", strLong_num);
char* strFloat = "1.23456789";
float strFloat_num = 0.0;
sscanf(strFloat, "%f", &strFloat_num);
printf("strFloat_num=%f\n", strFloat_num);
char* strDouble = "1.23456789";
double strDouble_num = 0.0;
sscanf(strDouble, "%lf", &strDouble_num);
printf("strDouble_num=%.8lf\n", strDouble_num);
printf("字符串转数字:stringstream类\n");
stringstream ss;
ss.clear();
printf("stringstream precision=%d\n", ss.precision());
string string_val1 = "1234567890";
int val1 = 0;
ss.str(string_val1);
ss >> val1;
printf("val1=%d\n", val1);
ss.clear();
string string_val2 = "1.234567890123456789";
double val2 = 0;
ss.str(string_val2);
ss >> val2;
printf("val2=%.9f\n", val2);
}
运行结果
字符串转数字:stof()函数 string转单精度浮点数
stof_val=686.123474121
字符串转数字:stod()函数 string转双精度浮点数
stod_val=686.123456789
字符串转数字:atof()函数
atof_val=123.123456789
字符串转数字:sscanf()函数
strInt_num=123456789
strLong_num=1234567890123456789
strFloat_num=1.234568
strDouble_num=1.23456789
字符串转数字:stringstream类
stringstream precision=6
val1=1234567890
val2=1.234567890
c/c++再学习:常用字符串转数字操作的更多相关文章
- 坑之mysql 字符串与数字操作
select "123"+1 = 124; select "1a23"+1 = 2; select "aa23"+1 = 1; select ...
- ios 常用字符串NSString的操作
//将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8S ...
- python基础学习一 字符串的相关操作
python的字符串 在python中,字符串是以unicode编码的,所以python的字符串支持多语言 对于单个字符的编码,python提供了ord()函数获取字符的整数表示,chr()函数是把编 ...
- [Python学习笔记] 字符串类型及操作
字符串处理 索引:返回字符串中单个字符 <字符串>[M] 切片:返回字符串中一段字符子串 <字符串>[M:N:K] 字符串格式化使用.format()方法
- 学习pytho第l六天 常用字符串用法
name='my name is dream' print(name.capitalize())#首字母大写 print(name.count(‘’a‘’))#判断字符串里有多少个a print(na ...
- Python学习之==>常用字符串方法
1.常用字符串方法 a = '\n 字 符 串 \n\n' b = a.strip() # 默认去掉字符串两边的空格和换行符 c = a.lstrip() # 默认去掉字符串左边的空格和换行符 d = ...
- (数据科学学习手札131)pandas中的常用字符串处理方法总结
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在日常开展数据分析的过程中,我们经常需要对 ...
- Java学习之==>常用字符串方法
1.定义字符串 // 定义, 为初始化 String str1; // 定义, 并初始化为null String str2 = null; // 定义, 并初始化为空串 String str3 = & ...
- C语言字符串与数字相互转换
在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串.字符串是以“\0”作为结束符.C/C++提供了丰富的字符串处理函数,下面列出了几个最常用的函数. ● 字符串输出函数puts. ● ...
随机推荐
- 野路子码农系列(2)Python中的类,可能是最通俗的解说
啥叫佩奇?啥叫类?啥叫面向对象?后面两个问题以前在大学里“祖传谭浩强”的时候我经常会有所疑问.老师说着一堆什么public, private,我都是一脸懵逼,啥叫私有?为啥要私有?然后就神游天外了…… ...
- Java 程序国际化
相关类: java.util.Locale java.util.ResourceBundle 操作步骤: 可以新建一个包, 如 res , 添加 .properties 文件 在其中添加键值对 ...
- windows 系统后台运行 jar 包
windows平台下 后台运行 jar 包 1.cmd 下执行方式:后台运行 start /min java -server -Xms1024m -Xmx20480m -jar $JAR_NAME. ...
- 开发一个项目之ES2015+
变量的解构赋值 任何部署了 Iterator 的对象都可 for of 循环(数组.Set.Map.某些类似数组的对象(arguments对象.DOM NodeList 对象).Generator 对 ...
- UEFI+GPT安装WIN7,WIN8/WIN10下安装WIN7双系统
一.BIOS更改 首先来bios更改:我们知道,uefi+gpt引导虽然出来的时间比较长,但是win7还不能完全的支持,所以在使用uefi+gpt安装win7的时候就会出现各种错误!所以我们在安装Wi ...
- webpack4.0学习记录
2019/04/28 1.本质上,webpack基于node node跟webpack为最新稳定版,才能更好,更快的打包 安装 1.卸载node 直接在控制面板 卸载 2.安装 从官网下载 然后 ...
- C# - 学习总目录
C# - 基础 C# - 操作符 C# - 值类型和引用类型 C# - 表达式与语句 C# - 数组 C# - 引用类型 C# - 常用类 C# - 常用接口 C# - LINQ 语言集成查询 C# ...
- Linux服务器查看外网IP地址的命令
可以直接输入如下几个命令:1.curl ifconfig.me2.curl cip.cc3.curl icanhazip.com4.curl ident.me5.curl ipecho.net/pla ...
- iis7.5做反向代理配置方法实例图文教程
网络上好多开场的文章就说了好多的原理之类的这里我们直接开始配置.不过也要简单说下win下配置反向代理只有IIS7以上的版本才可以实现这个功能,在这里我们使用WINDOWS2008 R2来做为测试 20 ...
- 解决多个py模块调用同一个python的logging模块,打印日志冲突问题
前期对python中的logging模块进行了封装,这样自动化测试框架中的多个测试脚本(py)就可以使用同一个封装后的日志系统,这样各脚本中只需要引用一下即可,方面快捷.那么当我使用unittest框 ...