Path: | adjustDigit.f90 |
Last Update: | Thu Apr 13 14:32:28 GMT+9:00 2006 |
author : | 小松 研吾 (KOMATSU Kengo) |
version : | 1.0 |
date : | 2006/02/28 |
copyright : | Copyright (c) K.K, 2006. All rights reserved. |
整数の先頭に 0 を補って桁を揃えるための関数です。 例えば、パラメタをファイル名に使用し、桁を揃えたい場合などに 利用できます。
file0200hPa.dat file0500hPa.dat file1000hPa.dat
integer :: para ! パラメタ character(len=4) :: str ! ファイル名に使うパラメタ character(len=50) :: fn_result ! ファイル名 character(len=32), external :: adjustDigit para = 500 str = adjustDigit(para,4) write(fn_result,"(3a)") "file", str, "hPa.dat" write(*,*) fn_result
この出力は以下のようになります。
file0500hPa.dat
Function : | |||
result : | character(32) | ||
i : | integer, intent(in)
| ||
digit : | integer, intent(in)
|
整数の先頭に 0 を加えて任意の桁に揃えた文字列を返す。
character(32) function adjustDigit(i,digit) result(result) ! ! 整数の先頭に 0 を加えて任意の桁に揃えた文字列を返す。 ! integer, intent(in) :: i ! 整数 integer, intent(in) :: digit ! 桁 integer :: num0 character(len=32) :: strx character(len=32) :: str0 write(unit=strx, fmt='(i32)') i strx = adjustl(strx) num0 = len_trim( adjustl(strx) ) if (digit < num0) then result = repeat('X',digit) else str0 = repeat('0',digit-num0) result = trim( str0(:digit-num0) ) // trim( strx(:num0) ) end if end function adjustDigit