如何将float转换为string(转) 可能有好多人,包括C语言老手都不知道如何将float数据转换为string,我就是这样,今天查了一下MSDN,才知道C提供了_gcvt函数实现这个功能,收获着实不小,为了方便自己查询,也为了那些像我这样的网友能够了解该函数的具体用法,我把MSDN的原文原封不动抄录如下: _gcvtConverts a floating-point value to a string, which it stores in a buffer. char *_gcvt( double value, int digits, char *buffer ); Routine Required Header Compatibility _gcvt <stdlib.h> Win 95, Win NT For additional compatibility information, see Compatibility in the Introduction. Libraries LIBC.LIB Single thread static library, retail version LIBCMT.LIB Multithread static library, retail version MSVCRT.LIB Import library for MSVCRT.DLL, retail version Return Value _gcvt returns a pointer to the string of digits. There is no error return. Parameters value Value to be converted digits Number of significant digits stored buffer Storage location for result Remarks The _gcvt function converts a floating-point value to a character string (which includes a decimal point and a possible sign byte) and stores the string in buffer. The buffer should be large enough to accommodate the converted value plus a terminating null character, which is appended automatically. If a buffer size of digits + 1 is used, the function overwrites the end of the buffer. This is because the converted string includes a decimal point and can contain sign and exponent information. There is no provision for overflow. _gcvt attempts to produce digits digits in decimal format. If it cannot, it produces digits digits in exponential format. Trailing zeros may be suppressed in the conversion. Example /* _GCVT.C: This program converts -3.1415e5 * to its string representation. */ #include <stdlib.h>#include <stdio.h> void main( void ){ char buffer[50]; double source = -3.1415e5; _gcvt( source, 7, buffer ); printf( "source: %f buffer: '%s'\n", source, buffer ); _gcvt( source, 7, buffer ); printf( "source: %e buffer: '%s'\n", source, buffer );} Output source: -314150.000000 buffer: '-314150.'source: -3.141500e+005 buffer: '-314150.' 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/skyman_2001/archive/2006/05/05/708935.aspx

评论