Sunday, May 17, 2009

FORTRAN 77 字串數字轉換

話說前兩天才在說嘴以前 FORTRAN 天天寫的當年勇 (男人到最後都只剩下一張嘴?) 沒想到今天就收到朋友 MSN 來問說 FORTRAN 怎麼做字串數字轉換. 這年頭在台灣寫 FORTRAN 的真的變成稀有動物囉...

MSN 講完之後想想還是來貼一下好了, 畢竟最近幾年忙的亂七八糟, 好長一段時間都沒在這裡胡言亂語了. 下面是兩個互轉的範例, 網頁上貼東西好像位置會歪掉, 剪貼進 F77 的時候前面空格數目要留心一下, 要不然會 compile 失敗.

1. String to Integer (str2int.f)

integer i
character*80 str

write(*,*) 'input a string: '
read(*,*) str

read(str,*) i

write(*,FMT='(A A)') 'the string is: ', str
write(*,*) 'the integer is: ', i

stop
end


2. Integer to String (int2str.f)

integer i
character*80 str

i=1
write(*,*) 'input a integer: '
read(*,*) i

write(str, FMT='(I5)') i

write(*,*) 'the integer is: ', i
write(*,FMT='(A A)') 'the string is: ', str

stop
end