home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / c / other / learn / fcvt.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-10-28  |  1.7 KB  |  49 lines

  1. /* FCVT.C illustrates floating point to string conversion functions:
  2.  *      gcvt            ecvt            fcvt
  3.  *
  4.  * See MKFPSTR.C for an example of using the data returned by fcvt
  5.  * to build a formatted string. See ATONUM.C for an example of using
  6.  * the string returned by gcvt.
  7.  */
  8.  
  9. #include <stdlib.h>
  10. #include <stdio.h>
  11. #include <string.h>
  12.  
  13. main()
  14. {
  15.     int decimal, sign;
  16.     char *pnumstr;
  17.     int precision = 7;
  18.     char numbuf[50];
  19.     double number1, number2;
  20.  
  21.     printf( "Enter two floating point numbers: " );
  22.     scanf( "%lf %lf", &number1, &number2 );
  23.  
  24.     /* With gcvt, precision specifies total number of digits.
  25.      * The decimal place and sign are inserted in the string.
  26.      */
  27.     gcvt( number1 + number2, precision, numbuf );
  28.     printf( "\nString produced by gcvt: %s\n", numbuf );
  29.     printf( "Total digits: %d\n", precision );
  30.  
  31.     /* With ecvt, precision specifies total number of digits.
  32.      * The decimal place and sign are provided for use in formatting.
  33.      */
  34.     pnumstr = ecvt( number1 + number2, precision, &decimal, &sign );
  35.     printf( "\nString produced by ecvt: %s\nSign: %s\n",
  36.              pnumstr, sign ? "-" : "+" );
  37.     printf( "Digits left of decimal: %d\nTotal digits: %d\n",
  38.              decimal, precision );
  39.  
  40.     /* With fcvt, precision specifies digits after decimal place.
  41.      * The decimal place and sign are provided for use in formatting.
  42.      */
  43.     pnumstr = fcvt( number1 + number2, precision, &decimal, &sign );
  44.     printf( "\nString produced by fcvt: %s\nSign: %s\n",
  45.              pnumstr, sign ? "-" : "+"  );
  46.     printf( "Digits left of decimal: %d\nDigits after decimal: %d\n",
  47.              decimal, precision );
  48. }
  49.