摘要:本文主要向大家介绍了 C/C++知识点之c++ 中double与string之间的转换,char *,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了 C/C++知识点之c++ 中double与string之间的转换,char *,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
/*
* main.cpp
*
* Created on: Apr 7, 2016
* Author: lizhen
*/
#include
//#include "MySqrt.h"
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
class Base{
public:
Base(){
cout<<"create the="" virtual="" destroy="" class="" derived:="" public="" derived="" is="" double="" string="" ostringstream="" os="" return="" invalid="" istringstream="" iss="" c-function="" char="" int="" p="const_cast<char" string-="">char*"<<p<<endl;
//char* -->string
char *ch = const_cast("char");//warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]|
string chstr(ch);
cout<<"char --="">string"<<chstr<<endl;
//double&float --->string
double dd = 3.14;
string ddstr = doubleConverToString(dd);
cout<<ddstr<<endl;
//string--->double&float
string strp = "3.5555555555";
double strdd = stringConverTodouble(strp);
cout<<strdd<<endl;
cout<<atof(strp.c_str())<<endl;
//c-function double->string
string ss = cfunctionDtoS(3.146789);
cout<<"ss 1="" 2="" 3="" 4="" 5="" 6="" 7="" c-function="" double="" cdd="cfunctionStoD(" char="" string="" p="const_cast<char" string-="">char*"<<p<<endl;
char*-->string
//char* -->string
char *ch = const_cast("char");//warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]|
string chstr(ch);
cout<<"char --="">string"<<chstr<<endl;
===
double/float-->string
string-->double/float
利用c++中 sstream头文件中的方法
==利用 ostringstream 输出流对象,将double输出到string中
方法如下:
//double -->string
string doubleConverToString(double d){
ostringstream os;
if(os << d) return os.str();
return "invalid conversion";
}
==利用istringstream输入流对象,将string中的东西放到double变量中去
方法如下
//string-->double
double stringConverTodouble(string str){
istringstream iss(str);
double x;
if(iss >> x) return x;
return 0.0;
}
利用标准c中的stdio.h头文件中的方法
==利用sprintf(str,"%.3lf",dd)方法,将double变量中的字符输出到字符串str中
方法如下:
//c-function double-->string
string cfunctionDtoS(double d){
char str[100];
sprintf(str,"%.3lf",d);
return str;
}
==利用sscanf(str,"%d",&dd)方法,将字符串str中的东西,放到double变量dd中
方法如下:
//c-function string->double
double cfunctionStoD(string str){
double dd;
sscanf(str.c_str(),"%lf",&dd);
return dd;
}
其他方法
char *itoa(int value, char* string, int radix); int---->string同样也可以将数字转字符串,不过itoa()这个函数是平台相关的(不是标准里的),故在这里不推荐使用这个函数。
另外也可以使用atoi(),atol(),atof().可以将string--->int/double/float
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号