adjustDigit.f90

Path: adjustDigit.f90
Last Update: Thu Apr 13 14:32:28 GMT+9:00 2006

adjustDigit.f90

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

Methods

Public Instance methods

Function :
result :character(32)
i :integer, intent(in)
: 整数
digit :integer, intent(in)
:

整数の先頭に 0 を加えて任意の桁に揃えた文字列を返す。

[Source]

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

[Validate]