我正在使用以下代码将输入字符串转换为浮点数:
template <typename T>
T parseString(const std::string &s)
{
T val;
std::istringstream is(s.c_str());
is >> val;
return val;
}
float x = parseString<float>("0.1");
std::cout << std::setprecision(12) << x;
当我打印 x 时,我得到“0.10000000149”,这显然是错误的。有什么想法吗?