C语言浮点数转字符串可用库函数sprintf,此处为编写的简单函数。

小数部分最多显示六位。

pOut:输出字符串缓冲区

f:浮点数值

isize:输出字符串缓冲区大小

char * Funftoa(char *pOut,float f,unsigned char isize)

{

int i,iTmpNum,iTmpFraction;
uint32_t iTmpT=1;
unsigned char k=0;

if(pOut==NULL)return NULL;
memset(pOut,0,isize);

//处理符号
if(f<0)
{
  f=-f;
  pOut[k]='-';
  k++;
}
iTmpNum=f;
f=(f-iTmpNum)*1000000;
iTmpFraction=f;

//整数部分
i=iTmpNum;
while(i>10)
{
  i/=10;
  iTmpT*=10;
}
while(iTmpT>0)
{
  if(k<isize)
   pOut[k]=iTmpNum/iTmpT+'0';
  k++;
  iTmpNum%=iTmpT;
  iTmpT/=10;
}

//小数部分
if(iTmpFraction>0)
{
  iTmpT=100000;
  if(k<isize)
    pOut[k]='.';
   k++;
  while(iTmpT>0&&iTmpFraction>0)
  {
    if(k<isize)
    pOut[k]=iTmpFraction/iTmpT+'0';
    k++;
    iTmpFraction%=iTmpT;
    iTmpT/=10;
  }
}

//最后一位补字符串结束标志
if(k<isize)pOut[k]=0;
else pOut[isize-1]=0;
return pOut;

}

C语言浮点数转字符串实现函数的更多相关文章

  1. R语言中的字符串处理函数

    内容概览   尽管R是一门以数值向量和矩阵为核心的统计语言,但字符串有时候也会在数据分析中占到相当大的份量.   R语言是一个擅长处理数据的语言,但是也不可避免的需要处理一些字符串(文本数据).如何高 ...

  2. C语言的常用字符串操作函数(一)

    一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这 ...

  3. 【R笔记】R语言中的字符串处理函数

    内容概览 尽管R是一门以数值向量和矩阵为核心的统计语言,但字符串同样极为重要.从医疗研究数据里的出生日期到文本挖掘的应用,字符串数据在R程序中使用的频率非常高.R语言提供了很多字符串操作函数,本文仅简 ...

  4. 嵌入式-C语言基础:字符串拼接函数strcat

    #include<stdio.h> #include <string.h> //实现字符串拼接 char * mystrcat(char * dest,char * src) ...

  5. C语言中的字符串拷贝函数strcpy和内存拷贝函数memcpy的区别与实现

    strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符'\0'. 已知st ...

  6. C语言中的字符串分割函数

    char *strtok(char *s, const char *delim); 分解字符串为一组字符串.s为要分解的字符串,delim为分隔符字符串. 从s开头开始的一个个被分割的串.当没有被分割 ...

  7. c语言中反转字符串的函数strrev(), reverse()

    1.使用string.h中的strrev函数 #include<stdio.h> #include<string.h> int main() { char s[]=" ...

  8. c语言几个字符串处理函数的简单实现

    直接贴代码: char* strcpy(char *a,char*b){//把字符串b全部拷贝到a中 assert(a != nullptr&&b != nullptr); char ...

  9. C语言中的字符串截取函数

    /*======================================================== 子数整数 源程序名 num.??? (pas,c,cpp) 可执行文件名 num. ...

  10. Strsafe.h:更安全的C语言字符串处理函数

    原文出处:Strsafe.h: Safer String Handling in C 作者:Michael Howard 编译:王凌峰 在微软公司举行的Microsoft Windows Securi ...

随机推荐

  1. CM3调试系统简析

    CM3 调试系统简析 **"一直以来,单片机的调试一直不是很突出的主题,很多简单些的程序在开发中,甚至都没有调试的概念,而只是把生成的映像直接烧入片子,再根据错误症状来判断问题,然后修改程序 ...

  2. docker卸载分享

    一.准备工作: 1.杀死docker有关的容器: docker kill $(docker ps -a -q) 2.删除所有docker容器: docker rm $(docker ps -a -q) ...

  3. openStack核心组件的工作流程

    目录 openStack核心组件的工作流程 1. Keystone 1.1 User 1.2 Credentials 1.3 Authentication 1.4 Token 1.5 Project ...

  4. [oeasy]python0035_ 整合shell编程_循环_延迟_清屏

    ​ 整合shell编程 回忆上次内容 用\r 可以让输出位置回到行首 原位刷新时间 如果想要的是大字符效果 需要使用 figlet 但同时还希望能刷新 ​ 编辑 这可能吗? 建立脚本 我们得熟悉一下s ...

  5. oeasy教您玩转vim - 69 - # 折叠folding入门

    ​ 折叠入门 回忆上次 上次学习了一种新的容器 tabs选项卡 tabs选项卡 包含多个选项卡tab 可以列两个tab 一个编写文件 一个执行指令 互不影响 每个 tab选项卡 还可以对应多个wind ...

  6. vue项目锚点定位+滚动定位

    功能: HTML: js: scrollEvent(e) { let scrollItems = document.querySelectorAll('.condition-container') f ...

  7. 如何通过minIO在后端实现断点续传

    首先是黑马的媒资管理模块流程图:前端负责计算媒资文件的MD5值,同时对媒资文件进行分块. 后端需要以下几个接口: 1.检查分块是否存在(传入参数为视频唯一标识信息与块信息):检查当前分块是否已经上传至 ...

  8. 一些常用的Utils总结

    1.BeanUtils.copyProperties,来自spring框架,作用是把对象的属性拷贝给另一个对象 BeanUtils.copyProperties(employeeDTO,employe ...

  9. 用IO多路复用实现 nginx 静态资源代理(C/Java/Golang)

    用IO多路复用实现 nginx 静态资源代理(C/Java/Golang) 效果展示 代理 HTML 代理图片 注意, 静态资源代理基于 HTTP, 可以了解上一篇文章: 几十行代码使用TCP简单实现 ...

  10. 【Java】Spring5学习

    基础环境与文档资料: 见黑马视频: https://www.bilibili.com/video/BV1P44y1N7QG 依赖坐标: <?xml version="1.0" ...