cout格式控制輸出float double浮點數

2021-09-28 17:39:20 字數 991 閱讀 8003

{

float test = 1.234;

std::stringstream ss;

ss << test;

std::string str_test;

str_test = ss.str();

std::cout<< ss.str()《結果是這樣的:

1.234

1.23399996757507324218750000000000000

1.23400

1.23400

1.2339999676

cout的格式控制,多出的部分,有可能是填充隨機數,也可能是填充0

double test = 1234567890.123456;

printf("%lf\n",test);

printf("%.16lf\n",test);

std::stringstream ss;

ss << test;

std::string str_test;

str_test = ss.str();

std::cout<< ss.str()《結果是這樣的:

1234567890.123456

1234567890.1234560012817383

1.23457e+09

1.23457e+09

1234567890.12345600128

1234567890.12345600128

1.23457e+09

結論:直接cout浮點數,後面小數點位數不對,以後就把浮點數轉換為string,然後輸出,就像下面這樣

double test = 1234567890.123456;

std::stringstream ss;

ss << std::fixed 《結果是這樣的:

1234567890.123456

就這麼幹!

cout標準輸出流常用控制格式

使用這些格式需要宣告包含 long flags const 返回當前的格式標誌。long flays long newflag 設定格式標誌為newflag,返回舊的格式標誌。long setf long bits 設定指定的格式標誌位,返回舊的格式標誌。long setf long bits,lo...

cout標準輸出流常用控制格式

使用這些格式需要宣告包含 long flags const 返回當前的格式標誌。long flays long newflag 設定格式標誌為newflag,返回舊的格式標誌。long setf long bits 設定指定的格式標誌位,返回舊的格式標誌。long setf long bits,lo...

cout《格式輸出的使用

控制符是在標頭檔案iomanip.h中定義的物件。使用前必須把iomanip.h包含進來 1.i o的書寫格式 i 0流是輸入或輸出的一系列位元組,當程式需要在螢幕上顯示輸出時,可以使用插入操 作符 向cout輸出流中插入字元。例如 cout this is a program.n 當程式需要執行鍵...