qc.hlp (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
FCVT.C
                                             Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
/* FCVT.C illustrates floating point to string conversion functions:
 *      gcvt            ecvt            fcvt
 *
 * See MKFPSTR.C for an example of using the data returned by fcvt
 * to build a formatted string. See ATONUM.C for an example of using
 * the string returned by gcvt.
 */
 
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
void main()
{
    int decimal, sign;
    char *pnumstr;
    int precision = 7;
    char numbuf[50];
    double number1, number2;
 
    printf( "Enter two floating point numbers: " );
    scanf( "%lf %lf", &number1, &number2 );
 
    /* With gcvt, precision specifies total number of digits.
     * The decimal place and sign are inserted in the string.
     */
    gcvt( number1 + number2, precision, numbuf );
    printf( "\nString produced by gcvt: %s\n", numbuf );
    printf( "Total digits: %d\n", precision );
 
    /* With ecvt, precision specifies total number of digits.
     * The decimal place and sign are provided for use in formatting.
     */
    pnumstr = ecvt( number1 + number2, precision, &decimal, &sign );
    printf( "\nString produced by ecvt: %s\nSign: %s\n",
             pnumstr, sign ? "-" : "+" );
    printf( "Digits left of decimal: %d\nTotal digits: %d\n",
             decimal, precision );
 
    /* With fcvt, precision specifies digits after decimal place.
     * The decimal place and sign are provided for use in formatting.
     */
    pnumstr = fcvt( number1 + number2, precision, &decimal, &sign );
    printf( "\nString produced by fcvt: %s\nSign: %s\n",
             pnumstr, sign ? "-" : "+"  );
    printf( "Digits left of decimal: %d\nDigits after decimal: %d\n",
             decimal, precision );
}