Online File

How to use this page


Rick Aster: Professional SAS Programming Shortcuts: Contents

Chapter 11
Program
Writing scientific notation


DATA _NULL_;
   DO VALUE = 123456789, -.0000123456789, .123456789;
      IF VALUE THEN EXPONENT = FLOOR(LOG10(ABS(VALUE)));
      ELSE EXPONENT = 0;
      MANTISSA = VALUE/10**EXPONENT;
      IF 0 <= EXPONENT <= 99 THEN DO;
         IF MANTISSA >= 0 THEN PUT MANTISSA F7.5 'e' EXPONENT Z2.;
         ELSE PUT MANTISSA F7.4 'e' EXPONENT Z2.;
         END;
      ELSE IF EXPONENT >= -99 THEN DO;
         IF MANTISSA >= 0 THEN PUT MANTISSA F6.4 'e' EXPONENT Z3.;
         ELSE PUT MANTISSA F6.3 'e' EXPONENT Z3.;
         END;
      ELSE DO;
         IF MANTISSA >= 0 THEN PUT MANTISSA F5.3 'e' EXPONENT Z4.;
         ELSE PUT MANTISSA F5.2 'e' EXPONENT Z4.;
         END;
      END;
RUN;

 O /\

Global
Statements

RICK ASTER

SAS

BOOKS

Tech | Dictionary

Download | Rastinate

Rick Aster

Professional SAS Programming Shortcuts

Contents/Online Files

Corrections

Catalog Page