2016-10-02 62 views
0

我想輸出格式化文件中的實際變量。如果變量非零,則使用格式語句。但是如果變量爲零,那麼只會輸出空格,類似於Iw.0所做的。格式聲明中可以這樣做嗎?謝謝。是否可以在Fortran中輸出零值爲空的變量?

+0

我不是FORTRAN專家,但我認爲你可能需要檢查你有興趣通過IF語句中的變量,如果他們都等於零然後做具有特定格式的語句將寫命令做你想做的事。 – ron

+0

謝謝,羅恩。這太複雜了,因爲我有很多變數。 – Leon

回答

3

不,沒有格式聲明,但是通過將值寫入字符串和處理,這相當容易實現。下面是一個演示。可能更適合放入子程序。

program demo 

    real, dimension (6) :: values = [ 1.0, 2.0, 0.0, 4.0, 0.0, 6.0 ] 
    character (len=100) :: string 
    integer :: pos 

    write (string,'(6 (1X, F4.1))') values 
    write (55, '(A)') trim (string) 

    MakeBlanks: do 

     pos = index (string, "0.0") 

     if (pos < 1) exit MakeBlanks 

     string (pos:pos+2) = " " 

    end do MakeBlanks 

    write (55, '(A)') trim (string) 

end program demo 
+0

謝謝,M. S. B.我能夠用你的方法做我想做的事。請記住,索引(字符串,「0.0」)只能找到字符串中的第一個「0.0」。 – Leon

+0

是的,重新索引找到第一個「0.0」。這就是爲什麼演示顯示了在循環中使用的索引,該循環取代了第一個找到的「0.0」,檢查了另一個等等,然後在沒有更多的時候退出。 –

+0

你的演示很棒。我沒有意識到前面的「0.0」已經被空白替換了。所以我不得不使用類似string(i:j)的東西在字符串中的不同位置處理「0.0」。 – Leon

相關問題