低版本C++ string的万能转换,从long string 之间的转换来看看
string 转 long
那必须是万年atoi(),不过得配合c_str()使用!
- #include <string>
- #include <iostream>
- #include <stdlib.h>
- using namespace std;
- int main ()
- {
- string a = "1234567890";
- long b = atoi(a.c_str());
- cout<<b<<endl;
- return 0;
- }
注意:atoi()在 stdlib.h
但是,这不是今天的重点!!!更加变态的方法,用String stream
- long stol(string str)
- {
- long result;
- istringstream is(str);
- is >> result;
- return result;
- }
long 转 string
- string ltos(long l)
- {
- ostringstream os;
- os<<l;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
太变态的string流
测试测试所有的基础类型转换
string 转 int
- int stoi(string str)
- {
- int result;
- istringstream is(str);
- is >> result;
- return result;
- }
通过!
string 转float
- float stof(string str)
- {
- float result;
- istringstream is(str);
- is >> result;
- return result;
- }
通过!
string 转double
- double stod(string str)
- {
- double result;
- istringstream is(str);
- is >> result;
- return result;
- }
通过!
int 转 string
- string itos(int i)
- {
- ostringstream os;
- os<<i;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
通过!
float 转 string
- string ftos(float f)
- {
- ostringstream os;
- os<<f;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
通过!
double 转 string
- string dtos(double d)
- {
- ostringstream os;
- os<<d;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
通过!
* 转string
- string *tos(* i) //改一下函数名,改一下类型,搞定
- {
- ostringstream os;
- os<<i;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
将*换成想要的类型就可以执行 *转string
string 转 *
- * sto*(string str) //改一下函数名,变量类型,搞定
- {
- * result;
- istringstream is(str);
- is >> result;
- return result;
- }
将*换成想要的类型就可以执行 string转*
也可以重载函数,达到万能函数转换
这些测试完全是自己不想写项目,偷懒写点文章安慰自己!囧~
记得包含头文件#include <sstream>
总结:使用string 流和标准io流其实本身就是流,一个原理的,不同调用方法。
粗制滥造,欢迎斧正
低版本C++ string的万能转换,从long string 之间的转换来看看的更多相关文章
- matlab学习笔记10_6 字符串与数值间的转换以及进制之间的转换
一起来学matlab-matlab学习笔记10 10_6 字符串与数值间的转换以及进制之间的转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合 ...
- C++string,char* 字符数组,int类型之间的转换
string.int 常见类型之间相互转换 int & string 之间的转换 C++中更多的是使用流对象来实现类型转换 针对流对象 sstream实现 int,float 类型都可以实现 ...
- String、ANSIString、PChar及TBytes之间的转换 BytesOf move stringof
一.string转为ansistring 1.直接赋值 (有警告)2.ansistring()类型强制转换.(无警告) 二.ansistring 转为string 1.直接赋值 (有警告)2.stri ...
- 【转】char*,string,CString,int,char[]之间的转换
CString 头文件#include <cstring>.CString 转char * CString cstr; ..data(),返回没有”/“的字符串数组..c_str(),返 ...
- Java基础——数据类型之间的转换
Java数据类型分为三大类,即布尔型.字符型和数值型.其中数值型又分为整型和浮点型.Java的基本数据类型(8种)为布尔型boolean(1字节):字符型char(2字节):整型byte(1字节).s ...
- 汉字编码(【Unicode】 【UTF-8】 【Unicode与UTF-8之间的转换】 【汉字 Unicode 编码范围】【中文标点Unicode码】【GBK编码】【批量获取汉字UNICODE码】)
Unicode与UTF-8互转(C语言实现):http://blog.csdn.net/tge7618291/article/details/7599902 汉字 Unicode 编码范围:http: ...
- Swift数字类型之间的转换
Swift数字类型之间的转换Swift是一种安全的语言,对于类型的检查非常严格,不同类型之间不能随便转换.一.整型之间的转换在C和Objective-C等其他语言中,整型之间有两种转换方法:从小范围数 ...
- 《从零开始学Swift》学习笔记(Day 15)——请注意数字类型之间的转换
原创文章,欢迎转载.转载请注明:关东升的博客 在C.Objective-C和Java等其他语言中,整型之间有两种转换方法: 从小范围数到大范围数转换是自动的: 从大范围数到小范围数需要强制类型转换,有 ...
- string转object-兼容低版本浏览器(eval实现)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- webpack 兼容低版本浏览器,转换ES6 ES7语法
ES6,ES7真的太棒了,async +await+Promise,让我阅读代码的时候不用再从左拉到右了(异步太多,一层套一层真的太头痛) 但是有个问题,打包后低版本浏览器运行不了,还有我用了一些混淆 ...
随机推荐
- Codeforces 678E(Another Sith Tournament)
题目链接:传送门 题目大意:有n个人决斗(n<=18),每两个人之间都有一定几率杀死对方,一次进行一次决斗,胜利者成为擂主继续接受决斗直到只剩下一个人,你是一号,问你最大有多大几率存活到最后. ...
- text-align:justify 使用参考
对 text-align:justify 不大了解的,可以先看这里:从css text-align:justify 谈谈 text-align 文本对齐方式,讲的比较浅显易懂,本篇相对深入些,最好先看 ...
- Spring Cloud Feign组件
采用Spring Cloud微服务框架后,经常会涉及到服务间调用,服务间调用采用了Feign组件. 由于之前有使用dubbo经验.dubbo的负载均衡策略(轮训.最小连接数.随机轮训.加权轮训),du ...
- MonogoDB----Date()
以字符串或日期对象的形式返回日期. 使用new Date(),插入的是一个isodate类型:而使用Date()插入的是一个字符串类型. 那isodate是什么日期类型的?我们看这2个值,它比字符串大 ...
- 修改hosts文件不起作用
今天遇到个很奇怪的问题,在hosts文件里添加了一些域名指向后,发现根本没起作用,后来还发现个细节,就是hosts文件左下角有个小锁的标志,开始以为是杀毒软件之类的把他锁了.可是没找到在哪里有相关操作 ...
- java 内存空间
堆:new 出的对象在堆上 java栈:java程序.线程运行数据.内存数据 每个方法都有自己的栈.运行时需要的数据存在自己的栈中 每个线程对立的是图中浅蓝色的部分(java栈.本地方法栈.程序计数器 ...
- java File delete() 失败,又没有报错。
因为该文件流还没关闭,就执行了delete(),所以删除失败. 先举几个可以删除掉文件和删除不掉文件的例子(先在F盘创建test1.txt文件,然后可以直接拷贝代码到IDE执行),最后总结下原因: 例 ...
- pgadmin3
一般性 \copyright 显示PostgreSQL的使用和发行许可条款 \g [文件] or; 执行查询 (并把结果写入文件或 |管道) \gset [PREF ...
- Java读写.properties文件实例,解决中文乱码问题
package com.lxk.propertyFileTest; import java.io.*; import java.util.Properties; /** * 读写properties文 ...
- MTK平台环境搭建---Ubuntu Linux 下执行sudo apt-get install提示“现在没有可用的软件包……
问题描述: sudo apt-get install openssh-server 正在读取软件包列表... 完成正在分析软件包的依赖关系树 Reading state information... ...