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

}

运行结果

cf180eb29fa9ad80d9ef2aafc1828ff2.png

2、注意事项

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

3、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢。

C语言中将数字转换为字符串的方法

C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include # ...

C语言把整数转换为字符串

目录 1.把整数/长整数格式化输出到字符串 2.注意事项 3.版权声明 各位可能在网上看到用以下函数可以将整数转换为字符串: itoa(); //将整型值转换为字符串 ultoa(); // 将无符号 ...

c语言实现整数转换为字符串——不考虑负数

#include #include #define MAX_LEN 16 #define ESP 1e-5 typedef int i ...

浮点数转换为人名币读法字符串(JAVA)

/*浮点数转换为人名币读法字符串这个用例,感觉没有考虑零的情况*/ import java.util.Arrays; public class Num2Rmb { pr ...

VC++和C语言中常见数据类型转换为字符串的方法

1.短整型(int) itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制 itoa(i,temp,2); ///按二进制方式转换 2.长整型(long) lt ...

Swift3.0语言教程使用路径字符串

Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...

R语言学习笔记:字符串处理

想在R语言中生成一个图形文件的文件名,前缀是fitbit,后面跟上月份,再加上".jpg",先不百度,试了试其它语言的类似语法,没一个可行的: C#中:"fitbit&q ...

怎样避免C#中将小数转换为字符串时出现科学记数法

在C#中如果float.double.decimal类型的值,小数点后的0太多时,C#会用科学记数法来表示小数的值. 例如下面的double类型0.00009,如果我们直接将其用ToString()方 ...

python课程设计笔记(四)整数、浮点数与字符串 time库

整数类型(范围无限制) 十进制1 -1 二进制0b1 -0b1 八进制0o1 -0o1 十六进制0x1 -0x1 浮点类型(范围有限制但可忽略) 运算存在不确定尾数 :0.1+0.2!=0.3 原因: ...

随机推荐

[VijosP1764]Dual Matrices 题解

题目大意: 一个N行M列的二维矩阵,矩阵的每个位置上是一个绝对值不超过1000的整数.你需要找到两个不相交的A*B的连续子矩形,使得这两个矩形包含的元素之和尽量大. 思路: 预处理,n2时间算出每个点 ...

STL学习笔记

简介 STL(Standard Template Library),即标准模版库,涵盖了常用的数据结构和算法,并具有跨平台的特点.STL是C++标准函数库的一部分,如下图所示: STL含有容器.算法和 ...

JavaScript的作用域和闭包

首发于:https://mingjiezhang.github.io/ 闭包和作用域有着千丝万缕的联系. js的作用域 具体的作用域我就不展开叙述了.其中很重要的两点就是:js的作用域链机制和函数词法 ...

YUM Installation PostgreSQL

PostgreSQL can be installed using RPMs (binary) or SRPMs (source) managed by YUM. This is available ...

304 CORS

304响应, CORS问题: 没有 Access-Control-Allow-Origin 这个头信息时,以前次返回的200请求为准. 示例:可能已被删除 http://7af3zm.com1.z0. ...

JavaSe:代码块执行顺序

//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. //普通代码块:在方法或语句中出现 ...

微服务与RPC

1.微服务架构 1.1 特征 自动化部署,端点智能化,语言和数据的去中心化控制. 1.2架构 一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制( ...

JS獲取URL的參數

function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*) ...

java提高(1)---异常

异常 一.异常与错误的区别 再讲异常之前我们就应该要知道异常和错误的区别 Error类和Exception类的父类都是throwable类,他们的区别是: Error类一般是指与虚拟机相关的问题,如系 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值