C++ double转string并保留2位小数的两种方法[亲测有效]

C++ double转string并保留2位小数的两种方法[亲测有效]#include<iostream>#include<iomanip>#include<sstream>std::stringdoubleToString(constdouble&val){char*chCode;chCode=newchar[20];sprintf(chCode,”%.2lf”,val);std::stringstr(chCode);delete[]chCode

大家好,欢迎来到IT知识分享网。

#include <iostream>
#include <iomanip>
#include <sstream>

std::string doubleToString(const double &val)
{ 
   
    char* chCode;
    chCode = new char[20];
    sprintf(chCode, "%.2lf", val);
    std::string str(chCode);
    delete[]chCode;
    return str;
}

int main()
{ 
   
    double dNum = 123.45678901234;
    //方法1:通过流的方式转成2位小数
    std::stringstream ss;
    ss << std::setiosflags(std::ios::fixed) << std::setprecision(2) << dNum;
    std::string str = ss.str();
    std::cout << str << std::endl;
    //方法2:通过sprintf(...)库函数来实现2位小数转换
    std::string strCall = doubleToString(dNum);
    std::cout << strCall << std::endl;
    system("pause");
}

记录一下

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24767.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信