欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

stringstream精度问题

发布时间:2025/5/22 编程问答 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 stringstream精度问题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

今天使用stringstream输出double,当小数位数很多的时候,会丢掉一些位数,原来“stringstream对象默认精度为6,而许多程序员错误地把“精度”理解为小数的位数,这是不正确的,精度应指代全部位数。因而,数字 1234.56可安全地通过默认精度6来表示,但12345.67会被截断为12345.6。这样的话,如果你有一个非常大的数,如1234567.8, 它的结果会静悄悄地转换为科学记数法:1.23457e+06,可以重新设置精度

int prec=numeric_limits::digits10; // 18
ostringstream out;
out.precision(prec);//覆盖默认精度
out<<value;
string str= out.str(); //从流中取出字符串 数值现在存储在str中,等待格式化。

”以上内容引自http://blog.sina.com.cn/s/blog_4f183d960100lxh9.html

转载于:https://www.cnblogs.com/coolbear/archive/2013/02/26/2933333.html

总结

以上是生活随笔为你收集整理的stringstream精度问题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。