home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d3xx / d306 / rexxplplot.lha / RexxPlPlot / src / src.zoo / plform.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-01-06  |  1.0 KB  |  40 lines

  1. /* Formats a floating point value in one of the following formats   */
  2. /* (i)  If mode == 0, use floating point format with "precision"    */
  3. /*      places after the decimal point.                             */
  4. /* (ii) If mode == 1, use scientific notation with one place before */
  5. /*      the decimal point and "precision" places after.             */
  6.  
  7. #include "plplot.h"
  8. #include <stdio.h>
  9. #ifndef AZTEC_C
  10. #include <string.h>
  11. #endif
  12.  
  13. void plform(value,mode,prec,result)
  14. float value;
  15. int mode, prec;
  16. char *result;
  17. {
  18.       int j, expon;
  19.       char form[10];
  20.       char temp[30];
  21.  
  22.       if (mode == 0) {
  23.         sprintf(form,"%%-.%df",prec);
  24.         sprintf(temp,form,value);
  25.         strcpy(result,temp);
  26.       }
  27.       else {
  28.         sprintf(form,"%%-.%dE",prec);
  29.         sprintf(temp,form,value);
  30.         j = strpos(temp,'E') + 1;
  31.         if (j == 0) fatal("Unrecognized scientific notation");
  32.         sscanf(&temp[j],"%d",&expon);
  33.         sprintf(form,"%-d",expon);
  34.         strcpy(&temp[j-1],"x10\\u");
  35.         strcat(temp,form);
  36.         strcpy(result,temp);
  37.       }
  38. }
  39.  
  40.