C++字符串浮点数转换小demo

Posted areful

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++字符串浮点数转换小demo相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <iomanip>
#include <string>

template<typename T>
T string_to_number(const std::string &numberAsString) 
    using namespace std;
    T valor;

    stringstream stream(numberAsString);
    stream >> valor;
    if (stream.fail()) 
        throw runtime_error("string_to_number(): " + numberAsString);
    
    return valor;


template<typename T>
std::string num_to_string_with_precision(const T a_value, const int n = 6) 
    using namespace std;
    std::ostringstream out;
    std::fixed(out);
    out << std::setprecision(n) << a_value;
    return out.str();


int main() 
    using namespace std;

    try 
        std::string str_num = "1997.1009f";
        double d = string_to_number<double>(str_num);
        cout << std::fixed << std::setprecision(4);
        cout << d << endl;

//        double d2 = stod(str_num);
//        cout.width(3);
//        cout.setf(ios::fixed);
//        cout.precision(4);
//        cout << d2 << endl;

        string s = num_to_string_with_precision(d, 4);
        cout << s << endl;
     catch (exception &e) 
        std::cerr << "Error occurred, " << e.what() << std::endl;
    

    return 0;

  运行结果:

技术图片

 

以上是关于C++字符串浮点数转换小demo的主要内容,如果未能解决你的问题,请参考以下文章

c++浮点数转换字符串

在 C++ 中将浮点数转换为 std::string

opencv c++:将图像矩阵从无符号字符转换为浮点数

如何将小数字转换为python中的浮点数? [复制]

将(n个第一个字节)无符号字符指针转换为浮点数和双精度C++

Python Ctypes,C++ 字符串到浮点数的转换在 python 中调用 Matplotlib 后给出错误/舍入的结果