C语言浮点数转字符串实现函数
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语言浮点数转字符串实现函数的更多相关文章
- R语言中的字符串处理函数
内容概览 尽管R是一门以数值向量和矩阵为核心的统计语言,但字符串有时候也会在数据分析中占到相当大的份量. R语言是一个擅长处理数据的语言,但是也不可避免的需要处理一些字符串(文本数据).如何高 ...
- C语言的常用字符串操作函数(一)
一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这 ...
- 【R笔记】R语言中的字符串处理函数
内容概览 尽管R是一门以数值向量和矩阵为核心的统计语言,但字符串同样极为重要.从医疗研究数据里的出生日期到文本挖掘的应用,字符串数据在R程序中使用的频率非常高.R语言提供了很多字符串操作函数,本文仅简 ...
- 嵌入式-C语言基础:字符串拼接函数strcat
#include<stdio.h> #include <string.h> //实现字符串拼接 char * mystrcat(char * dest,char * src) ...
- C语言中的字符串拷贝函数strcpy和内存拷贝函数memcpy的区别与实现
strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符'\0'. 已知st ...
- C语言中的字符串分割函数
char *strtok(char *s, const char *delim); 分解字符串为一组字符串.s为要分解的字符串,delim为分隔符字符串. 从s开头开始的一个个被分割的串.当没有被分割 ...
- c语言中反转字符串的函数strrev(), reverse()
1.使用string.h中的strrev函数 #include<stdio.h> #include<string.h> int main() { char s[]=" ...
- c语言几个字符串处理函数的简单实现
直接贴代码: char* strcpy(char *a,char*b){//把字符串b全部拷贝到a中 assert(a != nullptr&&b != nullptr); char ...
- C语言中的字符串截取函数
/*======================================================== 子数整数 源程序名 num.??? (pas,c,cpp) 可执行文件名 num. ...
- Strsafe.h:更安全的C语言字符串处理函数
原文出处:Strsafe.h: Safer String Handling in C 作者:Michael Howard 编译:王凌峰 在微软公司举行的Microsoft Windows Securi ...
随机推荐
- 通过vscode写博客
通过Vscode写博客到博客园 前言 在以前的写作方式都是通过博客园内置的markdown进行工作,但是在实际使用过程中,感觉不是很方便,所以找到了用VSCode插件写作的方法. 所需插件 博客园Cn ...
- C# 线程与进程
一.前台线程与后台线程对象 为什么要用多线程? 1.让计算机"同时"做多件事情,节约时间. 2.多线程可以让一个程序"同时"处理多个事情. 3.后台运行程序,提 ...
- SpringBoot 日志文件 logback-spring.xml
日志文件 将logback-spring.xml配置文件,放到:/src/main/resources中 <?xml version="1.0" encoding=" ...
- Java 集合元素排序接口Comparable
什么是Comparable public interface Comparable<T> { /** * Compares this object with the specified o ...
- SpringCloud 微服务简介
一.认识微服务随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构.这些架构之间有怎样的差别呢? 1.单体架构:将业务的所有功能集中在一个项目中开发,打成一 ...
- JavaScript系列:JS实现复制粘贴文字以及图片
目录 一. 基于 Clipboard API 复制文字(推荐) 基本概念 主要方法 使用限制 实际应用示例 二.基于 document.execCommand('copy') 缺陷 实际应用示例 说明 ...
- FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
<FFmpeg开发实战:从零基础到短视频上线>一书的"第11章 FFmpeg的桌面开发"介绍了如何在Windows环境对Qt结合FFmpeg实现桌面程序,那么Win ...
- vue项目坑记录:vue项目运行卡在百分之几几几
今天晚上打着游戏,同事突然叫我拉项目下来运行,我打完就去拉代码了,结果vue项目运行卡在66%不动了,我也是百度一下分享别人怎么解决的文章给他,继续我的游戏! 结果呢? 游戏结束后,我拉代码,还是这个 ...
- 【SQL】Lag/Rank/Over窗口函数揭秘,数据分析之旅
七月的夏日,阳光如火,但小悦的心中却是一片清凉与激情.在数据分析项目组的新岗位上,她仿佛找到了自己新的舞台,这里让她得以将深厚的后端技术实力与数据分析的精髓深度融合.每天,她都沉浸在业务需求的分析与数 ...
- 【MySQL】MySQL 执行创建存储过程报错的解决方法
源码 创建使用while循环插入数据的存储过程 设置mysql分隔符为// delimiter // drop procedure if exists while1 ; create procedur ...