在boost库中,有一个函数Boost.LexicalCast可以将数字和字符串进行双向转换。本文介绍这种用法的案例。
Boost.LexicalCast 提供了一个转换运算符,boost::lexical_cast,它可以将数字从字符串转换为数字类型,例如 int 或 double ,反之亦然。 boost::lexical_cast 是 std::stoi()、std::stod() 和 std::to_string() 等函数的替代方案,这些函数已添加到 C++11 的标准库中。
使用 boost::lexical_cast
- #include
- #include
- #include
-
- int main()
- {
- std::string s = boost::lexical_cast
(123); - std::cout << s << '\n';
- double d = boost::lexical_cast<double>(s);
- std::cout << d << '\n';
- }
转换运算符 boost::lexical_cast 可以转换不同类型的数字。示例 6.1 首先将整数 123 转换为字符串,然后将字符串转换为浮点数。要使用 boost::lexical_cast,请包含头文件 boost/lexical_cast.hpp。
boost::lexical_ca