→ noonee: 因為format 本身只是一個字串 01/10 03:20
→ noonee: 通常的作法是改變format 字串的內容 01/10 03:20
→ noonee: 例如: write(n,fmt) xxxxxx 01/10 03:21
→ noonee: 然後用程式本身去控制fmt 字串內容 01/10 03:21
我大概了解N大的意思,但我有個部分搞不太懂,
就是程式中,使用者可以輸入的控制的部分,是所有的位數和小數點輸出到第幾位
我把字串的格式改成變數fmt的方式來控制
但fmt的字串長度只能自己先設定好嗎?!
還是有類似可變矩陣的可變字串,字串長度不固定的方式可以使用呢?!
EX/ character :: fmt*18
fmt = "'(f10.3,f10.3,i2)'"
fmt = "'(f9.3,f9.3,i2)'"
write(14,fmt) xyz1,xyz2,ok3
若一開始就宣告,這樣第二種fmt後面可能就有空格,好像會影響後續的輸出
但又沒辦法write(14,trim(fmt))xyz1,xyz2,ok3
還是有其他方法能解決此問題呢?
※ 編輯: max533 (163.24.118.247), 01/10/2017 09:19:32
→ noonee: 變數的空格應該不影響 你試試就知道 01/10 12:44
的確空格是不影響的,問題出在多了2個單引號
只要改成 fmt="(f10.3,f10.3,i2)" 即可
感謝n大 ^ ^
※ 編輯: max533 (163.24.118.247), 01/10/2017 15:48:18
→ onezillion: Variable Expressions in Formats 01/14 00:00