Fortran的数据类型转化,read/write语句的别用

原文地址:http://support.microsoft.com/kb/51471/zh-cn

内部函数

下表列出了执行数据类型转换 FORTRAN 内部函数。
   Function   Description
   -------------------------------------------------------------------

   CHAR       Converts an integer argument to a character (ASCII
              equivalent)

   CMPLX      Converts an integer, real or complex argument to a
              COMPLEX*8

   DBLE       Converts an integer, real or complex argument to a
              DOUBLE PRECISION

   DCMPLX     Converts an integer, real or complex argument to a
              COMPLEX*16

   DFLOAT     Converts an integer, real or complex argument to a
              DOUBLE PRECISION

   DREAL      Converts a COMPLEX*16 argument to a REAL*8

   FLOAT      Converts an integer argument to a REAL*4

   HFIX       Converts an integer, real or complex argument to an
              INTEGER*2

   ICHAR      Converts a character argument to an integer (ASCII
              value)

   IDINT      Converts a DOUBLE PRECISION or REAL*8 argument to an
              integer

   IFIX       Converts a REAL*4 argument to an integer

   INT        Converts an integer, real or complex argument to an
              integer

   INT1       Converts an integer, real or complex argument to an
              INTEGER*1

   INT2       Converts an integer, real or complex argument to an
              INTEGER*2

   INT4       Converts an integer, real or complex argument to an
              INTEGER*4

   INTC       Converts an integer, real or complex argument to a C
              language integer

   JFIX       Converts an integer, real or complex arguments to an
              INTEGER*4

   REAL       Converts an integer, real or complex arguments to a
              REAL*4

   SNGL       Converts a REAL*8 arguments to a REAL*4
有关数据转换内部函数的详细信息,请参阅版本 5.0 和 5.1 的 Microsoft FORTRAN"引用"手册 240 241 页
$STORAGE metacommand

$STORAGE: n metacommand 为整数和逻辑的所有变量分配"n"个字节的内存。例如,当应用程序指定 $STORAGE: 2 metacommand 并将整数变量 B 声明,编译器会将两个字节分配 b 而不是四个。当声明包含明确长度规范,例如一个整数,$STORAGE metacommand 并不影响内存分配 * 2 或整数 * 4。

有关 $STORAGE metacommand 的详细信息,请参见第 34 和第 5.0 和 5.1 版的参考手册 》 的 308 页
隐式的语句

如果应用程序未显式定义一个名为数据类型,则编译器将使用变量或函数名称的第一个字母以确定其类型。默认情况下,名称的开头字母 I、 J、 K、 L、 M 或 N 是整数类型。类型实是使用其他字母之一或一个美元符号 ($) 开头的名称。应用程序可以使用隐式的语句来重写默认类型分配。

隐式的语句的详细信息,请参阅为 5.0 和 5.1 版参考手册 》 第 8 和 181-182 页。
内部读取和写入语句

从内部文件读取将 ASCII 值转换数值、 逻辑值或字符值时将写入到一个内部文件将内部值转换为 ASCII 文本)。有关详细信息的内部读取和编写的语句,请参见页 77-78 为 5.0 和 5.1 版参考手册 》

下面的代码示例将字符变量转换为一个整数。
示例代码

C Compile options needed: None
      CHARACTER*5 NUM
      INTEGER TEST
      NUM = '12345'
      READ(NUM, '(I5)') TEST
      WRITE (*, *) TEST
      END
posted @ 2013-04-11 22:26  李建业  阅读(1021)  评论(0编辑  收藏  举报