从字符串转换为数字大于 std::numeric_limit<double>::d igits10 的双精度

conversion from string to double with number greater than std::numeric_limit<double>::digits10

本文关键字:lt double 双精度 igits10 gt 转换 字符串 数字 大于 numeric std      更新时间:2023-10-16
std::string str = "12345679012.124678";
double back = boost::lexical_cast<double>( str );
std::string str2 =boost::lexical_cast<std::string>( back );
//here str2 is equal to str

即使数字的数字大于 std::numeric_limit<double>::digits10(即15)?

是的,它是正常的。

std::numeric_limit<double>::digits10是指铸件不可损失的最大数字。

这并不意味着使用限制的数字更大,仅意味着损失的可能性增加。