網站首頁 編程語言 正文
C++ cout和fstream采用非科學計數法輸出
1.cout非科學計數法輸出
cout.setf(ios::fixed); cout.precision(3); // 精度為輸出小數點后3位
2.fstream文件流非科學計數法輸出
double test=3.1415926; ofstream file(fileName); file.setf(ios::fixed); file.precision(5);//精度為輸出小數點后5位 file<<test; file.close();
3.fstream中幾個函數
?file.precision(8); ? ? ? ? ?file.flags(ios::left|ios::fixed); ?file.fill('0' ); ?file.width(14);
前三個函數是一次設定始終有效,而第四個2只對下一次輸入有效。依次解釋這四個函數的意義:
-
file.precision(3);
設定精度,小數點后有效數的位數,若輸出0.32456,結果為0.324,;若輸出0.3,結果為0.3。也就是對缺少的位數該函數不會去補充; -
file.fill(‘0’ );
該函數的作用就是把空出來的位數用某一字符來補充。但注意僅設置precision的情況下是不會補充的。因為precision只負責精度,而不會限定具體位數。 -
file.width(14);
則是限定輸出的位數。但在系統優先滿足精度,輸出位數可能無法保證。例如321.45678,若設定8位寬度,5位精度,最終結果是321.45678。即優先滿足精度要求,其次滿足寬度要求。 - 同樣上例中若精度為2位,結果為321.45.剩下的可以用fill來補充
但設定以上三種條件也無法得出滿意的結果。
因為系統默認數字右對齊,也就是填充字符會填充在數字的左邊!
此時必須進步設定file.flags(ios::left|ios::fixed);其中ios::left是令字符左對齊,而ios::fixed,該參數指定的動作是以帶小數點的形式表示浮點數,并且在允許的精度范圍內盡可能的把數字移向小數點右側;
C++ 輸出不使用科學計數法
#include <iostream> #include <iomanip> using namespace std; int main() { //強制使用小數,防止使用科學計數法 cout << fixed; //控制顯示的精度,控制小數點后面的位數。而整數太大時也會使用科學計數法,要輸出完整的整數時就可以將下面改成setprecision(0) cout << setprecision(7); double DoubleNum = 100.0 / 3.0; cout << DoubleNum * 10000 << endl; cin.get(); return 0; }
原文鏈接:https://blog.csdn.net/weixin_44153180/article/details/114792470
相關推薦
- 2022-08-18 詳解python?一維、二維列表的初始化問題_python
- 2022-06-01 Apache?Hudi靈活的Payload機制硬核解析_服務器其它
- 2022-10-19 python類參數定義及數據擴展方式unsqueeze/expand_python
- 2022-08-17 React自定義hook的方法_React
- 2022-04-25 mongodb?linux下集群搭建過程_MongoDB
- 2022-10-14 sklearn.linear_model.Perceptron詳解
- 2022-04-15 詳解Python?prometheus_client使用方式_python
- 2023-05-13 python中數字列表轉化為數字字符串的實例代碼_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支