首页 >

实型数据最简化输出(去除尾部0)

作者:fcode  日期:03-05
来源:Fcode研讨团队
此代码用于去除实型数据字符串尾部的0,使其等效为最简化输出格式。

例如:
3.140000 简化为 3.14
3.00 简化为 3
3.040 简化为 3.04
3.040e30 简化为 3.04e30



program www_fcode_cn
  implicit none
  character( len = 52) :: c
  Do
    read(*,*) c
    call TrimStringNumber(c)
    write(*,*) Trim(c)
  End Do
end program www_fcode_cn

Subroutine TrimStringNumber( c )
  !// Trim real String program
  !// Fortran Coder : Gao [ gao@fcode.cn ]
  !// http://www.fcode.cn
  character( Len = * ) :: c
  integer :: n
  integer :: i , j , k
  c = AdjustL( c )
  n = Len_Trim( c )
  i = index( c , "E" )
  j = index( c , "e" )
  k = max( i , j )
  if ( k > 1 ) then !// 指数
    j = index( c(:k-1) , "." , back = .true. )
    if ( j < 1 ) return
    Do i = k-1 , j+1 , -1
      if( c(i:i) /= '0' ) exit
    End Do
    if ( i /= j ) i = i + 1
    c(i:n) = c(k:n)
  else !// 常规小数
    j = index( c , "." , back = .true. )
    if ( j < 1 ) return
    Do i = n , j+1 , -1
      if( c(i:i) /= '0' ) exit
    End Do
    if ( i /= j ) i = i + 1
    c(i:n) = ' '
  end if
End Subroutine TrimStringNumber
常规|工具|专业|读物|
代码|教学|算法|
首页 >
FortranCoder手机版-导航