ECVT - Linux手册页

时间:2019-08-20 18:00:09  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2016-03-15

名称

ecvt,fcvt-将浮点数转换为字符串

语法

#包括

char * ecvt(双精度数字,int ndigits,int * decpt,int * sign);

char * fcvt(双精度数字,int ndigits,int * decpt,int * sign);

glibc的功能测试宏要求(请参阅feature_test_macros(7)):

ecvt(),fcvt():

Since glibc 2.12:
(_XOPEN_SOURCE >= 500) ! (_POSIX_C_SOURCE >= 200112L)
    || /* Glibc since 2.19: */ _DEFAULT_SOURCE
    || /* Glibc versions <= 2.19: */ _SVID_SOURCE
Before glibc 2.12:
_SVID_SOURCE || _XOPEN_SOURCE>= 500

说明

ecvt()函数将数字转换为以n位数为数字的以null终止的字符串(其中ndigits减少为由double的精度确定的系统特定的限制),并返回指向该字符串的指针。除非数字为零,否则高位数字为非零。低位数字四舍五入。字符串本身不包含小数点;但是,小数点相对于字符串开头的位置存储在* decpt中。 * decpt的负值表示小数点在字符串开头的左侧。如果number的符号为负,则* sign设置为非零值,否则设置为0。如果number为零,则不确定* decpt是0还是1。

fcvt()函数与ecvt()相同,除了ndigits指定小数点后的位数。

返回值

ecvt()和fcvt()函数均返回指向包含数字的ASCII表示形式的静态字符串的指针。每次调用ecvt()或fcvt()都会覆盖静态字符串。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
ecvt()Thread safetyMT-Unsafe race:ecvt
fcvt()Thread safetyMT-Unsafe race:fcvt

遵循规范

SVr2;在POSIX.1-2001中标记为LEGACY。 POSIX.1-2008删除了ecvt()和fcvt()的规范,建议使用sprintf(3)代替(尽管最好使用snprintf(3))。

备注

并非所有语言环境都将点用作基数字符("小数点")。

另外参见

ecvt_r(3),gcvt(3),qecvt(3),setlocale(3),sprintf(3)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/