關於部落格
  • 122904

    累積人氣

  • 31

    今日人氣

    0

    追蹤人氣

FPRINTF - 格式化輸出

前言
fprintf() 其實是源自 c 語言的格式化輸出, 使用方式大致與 c 語言沒什麼差別. 基本使用方式在
Octave/Matlab 數值分析基本要素
一文中提過, 不清楚的麻煩請先閱讀過該文章. 本篇將對fprintf作更詳盡的說明.
 
 
1. 控制字元 - n
此字元的作用式, 指示輸出裝置在此跳列(換行)的動作. 舉例說明, 如果現在程式打上這兩行
執行結果將會把兩段文字連在一起
顯然這不是我們要的, 我們可以在上一句的末端加上"n"來作調整
修改 執行結果
fprintf('Octave change linen');
fprintf('Octave change linen');
 


如果覺得如此還是過於擁擠, 可以依照需求恣意的增加"n"個數
修改 執行結果
fprintf('Octave change linennnnnn');
fprintf('Octave change linen');
 
 
2. 控制字元 - %d
fprintf() 除了可以直接列印字串外, 最有魅力的是可以用格式化的方式, 控制輸出的結果. 以下圖示為其結構
%d 的作用是, 在字串的文字敘述中, 插入10進位整數. 他會在中間預留整數的數字個數然後將數字放入.
Example  
程式碼 執行結果
a=321;
fprintf('Answer is %d, etc...n',a);
 Answer is 321, etc...
a=321;
fprintf('Answer is %d, etc...n',a);
b=45678;
fprintf('Answer is %d, etc...n',b);
 


%nd, 當前面放一個整數 n 的意思是"在此插入 n 個格子, 並將數字置右對齊". 我們來測試一下剛剛的例子
Example  
程式碼 執行結果
a=321;
fprintf('Answer is %5d, etc...n',a);
b=45678;
fprintf('Answer is %5d, etc...n',b);
 
你應該可以發現, 兩行都一樣插入了五格並靠右對齊. 這有什麼好處?當你有一組很大量的資料要秀給別人看時, 可以讓整個數據看起來比較整齊. 另外在 n 前面加一個負號"-"就是靠左對齊.
 
3. 控制字元 - %f
這裡跟%d是大同小異的, 差別之一是在於他是針對浮點數(小數). 相同的 %nf 也是跟 %nd 一樣的意思. 不過還有另一個功能
%n.mf
後面的整數 m 是代表你要取到小數後第幾為的意思. 舉個例子, 一樣用 pi 表示.
Example  
程式碼 執行結果
 

 
 
[相關文章]
*. 輸出, 判斷與迴圈, 連結
*. 檔案的寫入, 連結
 
[參考文件]
洪錦魁, C語言密碼

相簿設定
標籤設定
相簿狀態