千家信息网

C语言怎样把浮点数转换为字符串

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇文章为大家展示了C语言怎样把浮点数转换为字符串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。把浮点数转换为字符串1、把float/double格式化输出到
千家信息网最后更新 2025年11月08日C语言怎样把浮点数转换为字符串

本篇文章为大家展示了C语言怎样把浮点数转换为字符串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

把浮点数转换为字符串

1、把float/double格式化输出到字符串

标准的C语言提供了atof函数把字符串转double,但是没有提供把float/double转换为字符串的库函数,而是采用sprintf和snprintf函数格式化输出到字符串。

函数声明:

int sprintf(char *str, const char *format, ...);int snprintf(char *str, size_t size, const char *format, ...);

示例(book99.c)

int sprintf(char *str, const char *format, ...);int snprintf(char *str, size_t size, const char *format, ...);示例(book99.c)/* * 程序名:book99.c,此程序演示格式化输出sprintf和snprintf函数。 * 作者:C语言技术网(www.freecplus.net) 日期:20190525*/#include #include int main(){  float ff=1024.58;  double dd=12345678901234.58;  char strff[21],strdd[21];  memset(strff,0,sizeof(strff)); memset(strdd,0,sizeof(strdd));  // 把浮点数ff转换为字符串,存放在strff中。  sprintf(strff,"%.2f",ff);  printf("strff=%s\n",strff);  // 输出strff=1024.58  // 把双精度浮点数dd转换为字符串,存放在strdd中。  sprintf(strdd,"%.2lf",dd);  printf("strdd=%s\n",strdd);  // 输出strdd=12345678901234.58  memset(strff,0,sizeof(strff)); memset(strdd,0,sizeof(strdd));  // 把浮点数ff转换为字符串,存放在strff中,只保留前10个字符。  snprintf(strff,11,"%.2f",ff);  printf("strff=%s\n",strff);  // 输出strff=1024.58  // 把双精度浮点数dd转换为字符串,存放在strdd中,只保留前10个字符。  snprintf(strdd,11,"%.2lf",dd);  printf("strdd=%s\n",strdd);  // 输出strdd=1234567890}

运行结果

2、注意事项

snprintf函数在unix和windows平台下的表现略有不同,在Linux平台下,保留size-1个字符,在windows平台下,保留size个字符。

整型、浮点型和字符串间转换

1.整型、浮点型-->字符串

整数转换为字符串:

将浮点型值转换为字符串:

2.字符串-->整型、浮点型

下列函数可以将字符串转换为数字:

上述内容就是C语言怎样把浮点数转换为字符串,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0