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++再学习:常用字符串转数字操作的更多相关文章

  1. 坑之mysql 字符串与数字操作

    select "123"+1 = 124; select "1a23"+1 = 2; select "aa23"+1 = 1; select ...

  2. ios 常用字符串NSString的操作

    //将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8S ...

  3. python基础学习一 字符串的相关操作

    python的字符串 在python中,字符串是以unicode编码的,所以python的字符串支持多语言 对于单个字符的编码,python提供了ord()函数获取字符的整数表示,chr()函数是把编 ...

  4. [Python学习笔记] 字符串类型及操作

    字符串处理 索引:返回字符串中单个字符 <字符串>[M] 切片:返回字符串中一段字符子串 <字符串>[M:N:K] 字符串格式化使用.format()方法

  5. 学习pytho第l六天 常用字符串用法

    name='my name is dream' print(name.capitalize())#首字母大写 print(name.count(‘’a‘’))#判断字符串里有多少个a print(na ...

  6. Python学习之==>常用字符串方法

    1.常用字符串方法 a = '\n 字 符 串 \n\n' b = a.strip() # 默认去掉字符串两边的空格和换行符 c = a.lstrip() # 默认去掉字符串左边的空格和换行符 d = ...

  7. (数据科学学习手札131)pandas中的常用字符串处理方法总结

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在日常开展数据分析的过程中,我们经常需要对 ...

  8. Java学习之==>常用字符串方法

    1.定义字符串 // 定义, 为初始化 String str1; // 定义, 并初始化为null String str2 = null; // 定义, 并初始化为空串 String str3 = & ...

  9. C语言字符串与数字相互转换

    在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串.字符串是以“\0”作为结束符.C/C++提供了丰富的字符串处理函数,下面列出了几个最常用的函数. ● 字符串输出函数puts. ● ...

随机推荐

  1. 解决liblapack.so.3: cannot open shared object file: No such file or directory报错

    关于这种类型的报错通常的解决方式有两个: 方法一.查找系统哪儿有liblapack.so.3这个文件 find /lib -name liblapack.so.3 如果lib找不到这个文件,请换其他路 ...

  2. <div>标签仿<textarea>。contentEditable=‘true’,赋予非表单标签内容可以编辑

    需求:web页面需要一个文本输入框.1.该文本输入框默认状态下有个仿‘placeholder’的默认文本提示信息,2.文本框输入状态下其高度会随文本内容自动撑开. 方案选择:1.使用<texta ...

  3. 如何在Linux中使用命令行卸载软件

    您可以使用“dpkg”命令来查看您的计算机,按“Ctrl + Alt + T”的所有已安装包的列表,打开一个终端窗口. 在提示符下键入以下命令,然后按Enter键.dpkg -- list 要卸载程序 ...

  4. 强连通分量(Kosaraju)

    //P2002解题思路: //先求SCC,缩点后,转换为DAG(有向无环图) //在DAG上统计入度为0的scc数量即可 //Kosaraju时间复杂度:O(N+E) //两次DFS,2N,图的转置E ...

  5. maven配置阿里镜像仓库

    打开maven的配置文件(windows机器一般在maven安装目录的conf/settings.xml),在<mirrors></mirrors>标签中添加mirror子节点 ...

  6. python3 练手实例7 斐波那契数列

    '''a,b=0,1 x=int(input('请指定需要多少项:')) while x>0: print(b) a,b=b,a+b x-=1''' #递归 def fibo(n): if n& ...

  7. 查看提交历史(git log)

    git log 命令 在完成了几次提交,或者克隆了一个已有提交历史的仓库后,要查看历史提交记录,可以通过git log命令来实现. $ git log commit 0becea8e1966df258 ...

  8. php、apache、nginx、线程、进程

    最近在学swoole,发现里面设计好多操作系统里面的概念,这些基础知识正是自己欠缺的.根基不牢的高楼大厦,犹如空中楼阁,随时都要崩塌,早发现早治疗哈哈^_^. 一.概念 1) 进程:是指正在运行的一个 ...

  9. day 24-1 继承

    继承 什么是继承: 继承是一种创建新类的方式,在 python 中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 父类必须在子类上面 一个类 可以被多个类继承 一个 ...

  10. mysql 8.0~MGR多成员读一致性

    一 背景:当在读节点多成员查询时可能导致数据不一致 二 三种场景   1 读多写少  AFTER    2 读写相当  AFTER_AND_BEFORE   3 读少写多  BEFORE三 数据不一致 ...