酷站(www.ku0.com)-致力于为互联网从业者提供专业的网络资源资讯

热门关键词:  企业  as  baidu  c4rp3nt3r  美女

C语言把浮点数转换为字符串的方法

来源:互联网 作者:秩名 人气: 发布时间:2021-12-10
本篇文章主要介绍了C语言把浮点数转换为字符串的方法,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下,也感谢大家对酷站(ku0.com)的支持。

把浮点数转换为字符串

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 <stdio.h>
#include <string.h>
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.字符串——>整型、浮点型

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

版权声明:本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 959677720#qq.cn(#换@) 举报,一经查实,本站将立刻删除。
原文链接:https://www.jb51.net/article/231643.htm

相关文章

  • C语言的常量和字符串的详解介绍

    C语言的常量和字符串的详解介绍

    常量种类 C语言中,我们常使用的常量有以下几种: 字面常量 const常变量 #define定义的标识符常量 枚举常量 代码如下: #includestdio.h enum { //使用enum来建立枚举常量 papa,/......
    12-13
  • C语言把浮点数转换为字符串的方法

    C语言把浮点数转换为字符串的方法

    把浮点数转换为字符串 1、把float/double格式化输出到字符串 标准的C语言提供了atof函数把字符串转double,但是没有提供把float/double转换为字符串的库函数,而是采用sprint......
    12-10
  • C语言系统调用约定介绍

    C语言系统调用约定介绍

    常见的函数调用约定 cdecl , stdcall , fastcall , thiscall , naked call 简单介绍 HANDLE WINAPI GetStdHandle( _In_ DWORD nStdHandle ); //WINAPI不是返回值的类型,HANDLE才是 像这种函数的返回值我......
    12-07
  • C语言打印某一年中某月的日历的方法

    C语言打印某一年中某月的日历的方法

    大致思路: ① 判断输入的年份是否闰年; ② 计算输入月份的第一天是该年的第几天; ③ 计算输入月份的第一天是星期几; ④ 输出。 结合代码使用: #define _CRT_SECURE......
    12-06
  • C语言实现可排序通讯录的代码

    C语言实现可排序通讯录的代码

    1.目的 写一个实用型通讯录,它有如下功能: 显示目录 void ShowMenu() { printf(#######################\n); printf(#1.Add 2.Del 3.Search #\n); printf(#4.Mod 5.Show 6.Clear #\n); printf(#7.Sort 0.Exit #\......
    11-29
  • C++冒泡排序及其优化算法的介绍

    C++冒泡排序及其优化算法的介绍

    冒泡排序极其优化 算法步骤 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做......
    11-28
  • C++ Qt实现音视频播放功能的介绍

    C++ Qt实现音视频播放功能的介绍

    由于最近着手的Qt项目需要视频播放自己做的时候踩了很多坑避免以后踩坑 故在此记录实现过程 Qt版本 5.9基于C++11Qt核心组件与附加组件安装时请打钩否则可能出现项目中......
    11-26
  • C语言之水仙花数的介绍

    C语言之水仙花数的介绍

    题目描述 求出所有的水仙花数 分析 百度百科:水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿......
    11-25
  • C语言实现一个简单的扫雷游戏的代码

    C语言实现一个简单的扫雷游戏的代码

    扫雷跟上一篇文章的三子棋一样,是C语言基础知识的综合运用的实例,对于巩固我们的基础知识非常重要,同时扫雷作为C语言的一个小项目,锻炼我们的编程思维,也是......
    10-25
  • C语言实现24位彩色图像二值化的代码

    C语言实现24位彩色图像二值化的代码

    代码如下: // huiduhua.cpp : 定义控制台应用程序的入口点。 // #include stdafx.h #includestdio.h #includewindows.h int _tmain(int argc, _TCHAR* argv[]) { BITMAPFILEHEADER bfhead; BITMAPINFOHEADER bihead; ......
    10-25