曲径通幽论坛

标题: gcvt() -- 转换浮点数为字符串 [打印本页]

作者: beyes    时间: 2011-12-17 17:14
标题: gcvt() -- 转换浮点数为字符串
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





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2