當前位置:
首頁 >
stringstream精度问题
發(fā)布時間:2025/5/22
32
豆豆
生活随笔
收集整理的這篇文章主要介紹了
stringstream精度问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
今天使用stringstream輸出double,當小數(shù)位數(shù)很多的時候,會丟掉一些位數(shù),原來“stringstream對象默認精度為6,而許多程序員錯誤地把“精度”理解為小數(shù)的位數(shù),這是不正確的,精度應指代全部位數(shù)。因而,數(shù)字 1234.56可安全地通過默認精度6來表示,但12345.67會被截斷為12345.6。這樣的話,如果你有一個非常大的數(shù),如1234567.8, 它的結果會靜悄悄地轉換為科學記數(shù)法:1.23457e+06,可以重新設置精度
int prec=numeric_limits::digits10; // 18ostringstream out;
out.precision(prec);//覆蓋默認精度
out<<value;
string str= out.str(); //從流中取出字符串 數(shù)值現(xiàn)在存儲在str中,等待格式化。
”以上內(nèi)容引自http://blog.sina.com.cn/s/blog_4f183d960100lxh9.html
轉載于:https://www.cnblogs.com/coolbear/archive/2013/02/26/2933333.html
總結
以上是生活随笔為你收集整理的stringstream精度问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移位指令实现乘法
- 下一篇: APL开发日志 -- 2013-03-0