C cout輸出固定位數

2021-10-06 20:55:47 字數 1924 閱讀 5418

說一下c++中的輸出控制,先交代一下系統環境:

在c++程式設計中經常會遇到浮點數的處理,尤其是對浮點數的位數有要求,在c語言中printf可通過語法快速實現,如下:

double a=

1e-5

;// 1 x 10^(-5)

printf

("%.6lf"

,a);

即可達到以下效果

c++是c語言的公升級版,有著比c語言更加多的控制輸出條件,主要依賴於iomanip標頭檔案中的函式,主要使用中的setw()和setfill()函式

**如下:

double a=

1e-5

;int b=2;

//設定輸出5位寬度 預設右對齊

cout<<

setw(5

)<

//設定輸出5位寬度 不足位數用0補

cout<<

setfill

('0'

)<<

setw(5

)<

效果如下:

同樣是使用iomanip標頭檔案,這次使用setbase()函式,別問我為啥只說整數的進製轉換,問就是計算機組成原理:10進製有些小數無法被其他進製表示

cout<<

setbase(16

)<<

21<

//16進製制

cout<<

setbase(8

)<<

21<

//8進製

cout<<

setbase(10

)<<

0xff

<

//10進製

結果如下:

特別說明setbase函式只能以8,10,16為引數,即只能轉化成8進製,10進製,16進製制的數。輸入其他引數時函式失效。

同樣使用iomanip標頭檔案,使用setprecision()函式

double a=

1e-5

; cout.

setf

(ios::fixed,ios::floatfield)

;//不用科學計數法表示浮點數

cout<<

setprecision(6

)<

結果:

當資料較多的時候可以統一處理浮點數小數字數,精簡**。

double a=

1e-5

; cout.

setf

(ios::fixed,ios::floatfield)

;//不用科學計數法表示浮點數

cout.

precision(7

);cout<

cout<

cout<<

1.4e-2

<

cout<

cout<

效果如下:

這樣我們就可以控制資料的輸出格式了。

C cout輸出小數點後指定位數

在c 的程式設計中,總會遇到浮點數的處理,有的時候,我們只需要保留2位小數作為輸出的結果,這時候,問題來了,怎樣才能讓cout輸出指定的小數點後保留位數呢?在c語言的程式設計中,我們可以這樣實現它 printf 2f sample 在c 中,是沒有格式符的,我們可以通過使用setprecision ...

C cout輸出小數點後指定位數

在c 的程式設計中,總會遇到浮點數的處理,有的時候,我們只需要保留2位小數作為輸出的結果,這時候,問題來了,怎樣才能讓cout輸出指定的小數點後保留位數呢?在c語言的程式設計中,我們可以這樣實現它 printf 2f sample 在c 中,是沒有格式符的,我們可以通過使用setprecision ...

C cout輸出技巧

cout預設輸出格式為十進位制。如果要輸出十六進製制,輸出前加 cout hex 如果要輸出八進位制,輸出前加 cout oct 在cout 以及大多數c 表示式 中,char陣列名 char指標以及用引號括起的字串常量都被解釋為字串第乙個字元的位址。此時,cout將列印該位址處的字元,然後繼續列印...