home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / software / sviluppo / powerd / lib / powerd_lib.lha / PowerD / RealVal.d < prev    next >
Encoding:
Text File  |  1999-06-23  |  447 b   |  31 lines

  1. PROC RealVal(str:PTR TO CHAR,pos=0)(DOUBLE)
  2.     DEFD    d=0.0,f,o=0.1
  3.     DEFL    n,m,pre=TRUE:BOOL,sign
  4.     WHILE str[pos]=" " OR str[pos]="\n" OR str[pos]="\t" DO pos++
  5.     IF str[pos]="-"
  6.         sign:=-1
  7.         pos++
  8.     ELSE
  9.         sign:=1
  10.     ENDIF
  11.     WHILE m:=str[pos]
  12.         IF m>="0" AND m<="9"
  13.             n:=m-"0"
  14.             IF pre
  15.                 d*=10
  16.                 d+=n
  17.             ELSE
  18.                 f:=n
  19.                 f*=o
  20.                 d+=f
  21.                 o*=0.1
  22.             ENDIF
  23.         ELSEIF m="."
  24.             pre:=FALSE
  25.         ELSE
  26.             RETURN d*sign
  27.         ENDIF
  28.         pos++
  29.     ENDWHILE
  30. ENDPROC d*sign
  31.