PARM "!_NUMBER" # ******************************************************************* # * PROGRAM NAME: SCI.XEQ # * WRITTEN BY : KIM WILLIAMS 8/12/98 # * DESCRIPTION : CONVERT A REAL NUMBER TO SCIENTIFIC NOTATION # ******************************************************************* IF "!_NUMBER" <> "0" # Take out the sign and decimal SETVAR _INTEGER "!_NUMBER" - "-" - "." # Determine how many zeros to fill SETVAR _ZEROS 19 - LEN("!_INTEGER") # Determine the exponent IF POS(".","!_NUMBER" - "-") <> 0 SETVAR _EXP POS(".","!_NUMBER" - "-") - 1 ELSE SETVAR _EXP LEN("!_NUMBER" - "-") ENDIF # Zero fill the exponent SETVAR _EXP "E+" + RPT("0",2 - LEN("!_EXP")) + "!_EXP" # Get the leading sign IF "!_NUMBER" >= "0" SETVAR _SIGN "+." ELSEIF "!_NUMBER" < "0" SETVAR _SIGN "-." ENDIF SETVAR _SCI "!_SIGN" + "!_INTEGER" + RPT("0",!_ZEROS) + "!_EXP" ELSEIF "!_NUMBER" = "0" SETVAR _SCI "+.0000000000000000000E+00" ENDIF