網站首頁 編程語言 正文
輸出:保留兩位小數
問題
已知a=0.20001,輸出:0.20
思路
setprecision:功能是控制輸出流顯示浮點數的有效數字個數,注意是有效數字。如果和fixed合用的話,可以控制小數點后面有幾位。
這下這知道為什么輸出是0.2了吧,必須是輸出有效數字,后面的0要省略。如果a=0.21001,直接用就輸出是0.21。
為了得到0.20,在這里就要用到fixed了。
代碼
#include <iostream> #include <iomanip> using namespace std; int main() { float a = 0.20001; cout.setf(ios::fixed); cout << "a=" <<fixed<< setprecision(2) << a <<endl; //輸出結果為a=0.20 cout.unsetf(ios::fixed); cout << "a=" << setprecision(2) << a <<endl; //輸出結果為a=0.2 return 0; }
C++小數保留問題
由于在做題的時候設計到輸出格式的問題,省的每次都去找,所以自己稍微記錄一下
主要使用工具:#include中的setprecision() 和 setiosflags()
使用方法
setprecision()
顧名思義:就是設定精度。用來控制輸出的數的位數(從左到右的),自動四舍五入。且不保留小數后的0。比如:
double pi = 3.1415926000;
語句 | 輸出 |
---|---|
cout<<setprecision(1)<<pi<<endl; | 3 |
cout<<setprecision(2)<<pi<<endl; | 3.1 |
但是這種形式如果有多位數,會采用科學計數法來表示,比如
double n=123.65 cout<<setprecision(2)<<n<<endl;
輸出1.2e02
所以如果整數部分不確定,或者要求末尾保留0的時候,那我們就無法準確保留適當的小數位數,因此我們需要另一個函數:
-
setiosflags()
:這是一個格式控制函數,它有很多參數,可以實現不同的輸出操作
在這里主要用到其中兩個:fixed 和 showpoint。
首先說fixed,以定點方式顯示實數,即顯示整數部分。舉個栗子:
double pi = 3.1415926000;
語句 | 輸出 |
---|---|
cout<<setprecision(1)<<pi<<endl; | 3.1 |
cout<<setprecision(2)<<pi<<endl; | 3.14 |
cout<<setprecision(10)<<pi<<endl; | 3.1415926 |
double n=123.65 cout<<setprecision(1)<<n<<endl;
輸出123.6
可見此時setprecision()已經是只控制小數位數了,但是:它仍然不能保留0。這時就有了showpoint。
還是那個例子:
cout<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(10)<<pi<<endl;
輸出 3.1415926000
這樣我們就能完全控制小數位數的輸出了。
原文鏈接:https://haihong.blog.csdn.net/article/details/102469332
相關推薦
- 2022-06-07 使用Docker創建FTP服務器的過程解析_docker
- 2023-05-30 docker如何查看容器啟動命令(已運行的容器)_docker
- 2022-07-10 JDK13版本的環境變量的配置
- 2022-06-06 Lombok報錯:You aren‘t using a compiler supported by
- 2022-07-18 Linux文件權限
- 2022-12-02 Linux下的自動化構建工具之make/makefile的用法詳解_linux shell
- 2023-03-02 ijkPlayer播放器的全自動編譯腳本及最終編譯包_Android
- 2022-09-22 linux進程概念
- 最近更新
-
- 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同步修改后的遠程分支