C/C++知识点之c++ 中double与string之间的转换,char *
小标 2019-01-21 来源 : 阅读 4573 评论 0

摘要:本文主要向大家介绍了 C/C++知识点之c++ 中double与string之间的转换,char *,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了 C/C++知识点之c++ 中double与string之间的转换,char *,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

C/C++知识点之c++ 中double与string之间的转换,char *

/*
 * 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+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程