Microsoft KB Archive/37794: Difference between revisions

From BetaArchive Wiki
(importing KB archive)
 
m (Text replacement - "<" to "<")
Line 71: Line 71:
== SYMPTOMS ==
== SYMPTOMS ==


The gcvt() function returns a value in scientific notation, without regard to the specified precision, when the floating-point value has the form &quot;0.0&lt;x&gt;&quot; and &lt;x&gt; is any sequence of digits.
The gcvt() function returns a value in scientific notation, without regard to the specified precision, when the floating-point value has the form &quot;0.0<x&gt;&quot; and <x&gt; is any sequence of digits.


</div>
</div>
Line 99: Line 99:
  */  
  */  


#include &lt;stdio.h&gt;
#include <stdio.h&gt;
#include &lt;stdlib.h&gt;
#include <stdlib.h&gt;


char buffer[50];
char buffer[50];

Revision as of 09:25, 21 July 2020

Article ID: 37794

Article Last Modified on 12/12/2003



APPLIES TO

  • The C Run-Time (CRT), when used with:
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 1.5 Professional Edition
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 4.0 Standard Edition
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 Service Pack 5



This article was previously published under Q37794


SYMPTOMS

The gcvt() function returns a value in scientific notation, without regard to the specified precision, when the floating-point value has the form "0.0<x>" and <x> is any sequence of digits.

CAUSE

This is expected behavior for gcvt().

RESOLUTION

If this behavior is not desired, use the fcvt() function to convert the floating-point number to a string.

MORE INFORMATION

The following code demonstrates this behavior:

Sample Code

/*
 * Compile options needed: None
 */ 

#include <stdio.h>
#include <stdlib.h>

char buffer[50];
int precision = 20;

void main(void)
{
   gcvt(-0.1123, precision, buffer);    /* Decimal output */ 
   printf("buffer ........\"%s\"\n", buffer);

   gcvt(-0.0123, precision, buffer);    /* Scientific notation */ 
   printf("buffer ........\"%s\"\n", buffer);
}
                

Keywords: kbcrt kbprb KB37794