gcvt() 的原型如下:
[C++] 纯文本查看 复制代码 #include <stdlib.h>
char *gcvt(double number, size_t ndigit, char *buf);
gcvt() 将参数 number 表示的浮点数转换成字符串,参数 ndigits 表示要显示的位数。转换成功后,将转换结果存入第 3 个参数 buf 所指向的缓冲区中。它和 ecvt()/fcvt() 不同的地方是,它所转换后的字符串包含小数点和正负号。它的返回值就是第 3 个参数所表示的地址。
测试代码:
[C++] 纯文本查看 复制代码 #include <stdio.h>
#include <stdlib.h>
int main()
{
double a = 3.14159;
double b = -159.413;
char buf[20];
char *ptr;
gcvt(a, 5, buf);
printf ("a value = %s\n", buf);
ptr = gcvt(b, 3, buf);
printf ("b value = %s\n", buf);
printf ("bufaddr:%x\tptraddr:%x\n", buf, ptr);
return 0;
}
运行输出:./gcvt
a value = 3.1416
b value = -159
bufaddr:bff50808 ptraddr:bff50808 |