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的主要内容,如果未能解决你的问题,请参考以下文章
将(n个第一个字节)无符号字符指针转换为浮点数和双精度C++
Python Ctypes,C++ 字符串到浮点数的转换在 python 中调用 Matplotlib 后给出错误/舍入的结果