首先看例子:
cout<
<
<
<
<
這裡主要牽扯到ios類,這裡我們關心這兩個ios標記:fixed和showpoint。
設定標記,可以使用 以標記的名稱為引數的 操作程式setiosflags。其中在括號中,標記名稱必須跟在類名之後,並且之間要有字段分解運算子(::);
fixed:保證數字以定點形式存在,而不會以指數的格式顯示。
showpoint:保證小數點的存在,即使那個數字並沒有小數部分。
setprecision():用數字作為引數,表示數字精確度(即小數點的位數)。
setw():用數字作為引數,設定欄位的寬度,並且文字靠右對齊。
這裡:cout<
cout<
out<
以下是一些常見的控制函式的:
dec 置基數為10 相當於"%d"
hex 置基數為16 相當於"%x"
oct 置基數為8 相當於"%o"
setfill(c) 設填充字元為c
setprecision(n) 設顯示小數精度為n位
setw(n) 設域寬為n個字元
這個控制符的意思是保證輸出寬度為n。如:
cout<1 10100 (預設是右對齊)當輸出長度大於3時(<<1000),setw(3)不起作用。
setioflags(ios::fixed) 固定的浮點顯示
setioflags(ios::scientific) 指數表示
setiosflags(ios::left) 左對齊
setiosflags(ios::right) 右對齊
setiosflags(ios::skipws 忽略前導空白
setiosflags(ios::uppercase) 16進製制數大寫輸出
setiosflags(ios::lowercase) 16進製制小寫輸出
setiosflags(ios::showpoint) 強制顯示小數點
setiosflags(ios::showpos) 強制顯示符號
這裡有個例子:
view source
print?
#include
#include
using
namespace
std;
int
main()
這是網上的例子,按照規則,標記後應該是正確答案,可是我用vs2008測試這個程式的時候卻出現的錯誤的結果:
但是用別的編譯器,雖然結果不完全是這樣,但是好歹不出現亂碼!
vs2005和vc 6.0 執行結果:
不知道是不是編譯器出現問題了,問題待解決,也希望看到文章的人幫忙解釋下問題的本質,謝謝。
cout的I O流的資料格式編排
首先看例子 cout這裡主要牽扯到ios類,這裡我們關心這兩個ios標記 fixed和showpoint。設定標記,可以使用 以標記的名稱為引數的 操作程式setiosflags。其中在括號中,標記名稱必須跟在類名之後,並且之間要有字段分解運算子 fixed 保證數字以定點形式存在,而不會以指數的格...
JSON的資料格式
1.json是一種輕量級的資料互動格式。2.json的語法有三種型別的值 簡單值 不包含undefined 物件,陣列 3.json不支援變數,函式或物件例項 4.json字串必須使用雙引號 單引號會導致語法錯誤 5.json和js物件的區別 a 沒有宣告變數 json中沒有變數的概念 b 沒有末尾...
LAS的資料格式
從本質上來說,las格式是一種二進位制檔案格式。其目的是提供一種開放的格式標準,允許不同的硬體和軟體提供商輸出可互操作的統一格式。現在las格式檔案已成為lidar資料的工業標準格式。las檔案按每條掃瞄線排列方式存放資料,包括雷射點的三維座標 多次回波資訊 強度資訊 掃瞄角度 分類資訊 飛行航帶資...