gpt4 book ai didi

c++ - 从字符串到数字大于 std::numeric_limit::digits10 的 double 的转换

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:23:55 24 4
gpt4 key购买 nike

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指的是确保强制转换无损的最大位数。

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

关于c++ - 从字符串到数字大于 std::numeric_limit<double>::digits10 的 double 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13124112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com