_fcvt
将一个浮点数转换为字符串。 此功能的一种较为安全的版本可用; _fcvt_s参见。
char *_fcvt(
double value,
int count,
int *dec,
int *sign
);
参数
value
将转换的数字。count
小数点后数字的位数。dec
为内存的指针小数点位置。sign
对存储的符号指示的指针。
返回值
_fcvt 返回指向数值字符串,在错误的 NULL。
备注
_fcvt 函数将浮点数转换为 null 终止的字符串)。 value 参数是要转换的浮点数。 _fcvt 存储 value 数字为字符串并追加 null 字符 (“\ 0 ")。 count 参数指定在以后要存储的数量。 多余数字被舍入到 count 位置。 如果小于精度 count 数字有,该字符串填充零。
_fcvt 返回的总数不会超过 _CVTBUFSIZE。
仅可在该字符串存储。 位置),并 value 的符号可以从 dec 和符号获取在调用之后。 dec 参数指向整数值;此整数值指定位置小数点有关该字符串的开头。 零或负整数值指示在第一个数字的小数点集。 该参数 sign 指向指示 value的符号整数。 该整数设置为 0,则 value 为正数的和设置为非零的数字,如果 value 为负数。
在 _ecvt 和 _fcvt 之间的差异。 count 参数的解释。 _ecvt 解释 count ,当数字的总数在输出字符串的,因此,而 _fcvt 解释 count 作为数字个数在以后小数点。
_ecvt 和 _fcvt 为将使用一个静态分配的缓冲区。 每次调用这些实例之一销毁结果的前一个调用。
此功能验证其参数。 如果 dec 或 sign 为 null,或者 count 为 0,无效参数调用处理程序,如 参数验证所述。 如果执行允许继续, errno 设置为 EINVAL ,并返回 NULL。
要求
功能 |
必需的头 |
---|---|
_fcvt |
stdlib.h |
有关更多兼容性信息,请参见中介绍的 兼容性 。
示例
// crt_fcvt.c
// compile with: /W3
// This program converts the constant
// 3.1415926535 to a string and sets the pointer
// buffer to point to that string.
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
int decimal, sign;
char *buffer;
double source = 3.1415926535;
buffer = _fcvt( source, 7, &decimal, &sign ); // C4996
// Note: _fcvt is deprecated; consider using _fcvt_s instead
printf( "source: %2.10f buffer: '%s' decimal: %d sign: %d\n",
source, buffer, decimal, sign );
}