社区
C语言
帖子详情
怎样把浮点数转换成字符串?
zzol
2004-12-20 04:06:32
怎样把浮点数转换成字符串?
自带的函数itoa,ltoa都是转换整数的,遇到浮点数,双精度的数怎么办?
...全文
15194
7
打赏
收藏
怎样把浮点数转换成字符串?
怎样把浮点数转换成字符串? 自带的函数itoa,ltoa都是转换整数的,遇到浮点数,双精度的数怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
janeSatan
2004-12-20
打赏
举报
回复
在将浮点型数字转换为字符串时,需要使用另外一组函数。
以下是用fcvt()函数将浮点型值转换为字符串的一个例子:
# include <stdio. h>
# include <stdlib. h>
void main (void);
void main (void)
{
double num = 12345.678;
char * sir;
int dec_pl, sign, ndigits = 3; /* Keep 3 digits of precision. * /
str = fcvt(num, ndigits, &dec-pl, &sign); /* Convertthe float to a string. * /
printf("Original number; %f\n" , num) ; /* Print the original floating-point value. * /
printf ("Converted string; %s\n",str); /* Print the converted string'svalue. * /
printf ("Decimal place: %d\n" , dec-pi) ; /* Printthe location of the decimal point. * /
printf ("Sign: %d\n" , sign) ; /* Printthe sign.0 =positive,1 =negative. * /
}
fcvt()函数和itoa()函数有数大的差别。fcvt()函数有4个参数:第一个参数是要转换的浮点型值;第二个参数是转换结果中十进制小数点右侧的位数;第三个参数是指向一个整数的指针,该整数用来返回转换结果中十进制小数点的位置;第四个参数也是指向一个整数的指针,该整数用来返回转换结果的符号(0对应于正值,1对应于负值)。需要注意的是,fcvt()函数的转换结果中并不真正包含十进制小数点,为此,fcvt()函数返回在转换结果中十进制小数点应该占据的位置。在上例中,整型变量dec_pl的结果值为5,因为在转换结果中十进制小数点应该位于第5位后面。如果你要求转换结果中包含十进制小数点,你可以使用gcvt()函数(见下表)。下列函数可以将浮点型值转换为字符串:
---------------------------------------------------------
----------------
函数名作用
---------------------------------------------------------
----------------
ecvt() 将双精度浮点型值转换为字符串,转换结果中不
包含十进制小数点
fcvt() 以指定位数为转换精度,余同ecvt()
gcvt() 将双精度浮点型值转换为字符串,转换结果中包
含十进制小数点
---------------------------------------------------------
}
snow810211
2004-12-20
打赏
举报
回复
#include <stdlib.h>
#include <stdio.h>
void main( void )
{
char buffer[50];
double source = -0.14150;
_gcvt( source, 4, buffer );
printf( "source: %f buffer: '%s'\n", source, buffer );
system("pause");
}
snow810211
2004-12-20
打赏
举报
回复
char * _fcvt(double value,int dount,int *dec,int *sign);
说明:
value 为要被转换的数值
count 为小数点后的位数
dec 为小数点所在位置
sign 为正负号,0代表正,非0整数代表负
#include <stdio.h>
#include <stdlib.h>
void main()
{
int dec,sign;
char *temp;
//double value=0.1256;
double value=-0.01256;
temp=_fcvt(value,3,&dec,&sign);
printf("String after convert :%s\n",temp);
printf("Decimal :%d\n",dec);
printf("sign :%d\n",sign);
}
winstonch
2004-12-20
打赏
举报
回复
skfox(sky)的方法不错,但是不能完全复原,不知道楼主是否有这样的要求,要是那样的话可就没这么简单了
master5470
2004-12-20
打赏
举报
回复
关注中,好问题!
skfox
2004-12-20
打赏
举报
回复
char chFloat[20];
memset(chFloat,'\0',sizeof(chFloat));
float iF =9.89;
sprintf(chFloat,"%f",iF);
printf("%s\n",chFloat);
absolutelyzero_p
2004-12-20
打赏
举报
回复
关注
python
字符串
转换成
浮点数
_Python
字符串
转换成
浮点数
函数分享
Python
字符串
转换成
浮点数
函数分享本文给大家分享的是一则使用Python实现
字符串
转换成
浮点数
的代码,主要是使用map和reduce方法来实现,有需要的小伙伴可以参考下。利用map和reduce编写一个str2float函数,把
字符串
'123.456'
转换成
浮点数
123.456from functools import reducedef str2float(s):return reduce(...
浮点数
字符串
转换成
浮点数
实现(2)
其实几年前实现过一个面试题版本的,参考:
浮点数
字符串
转换成
浮点数
实现。 最近因为工作的关系又拿了出来,做了一些简单的修改,支持了前端空格处理,溢出检测等等,当然精度处理这个难度有点大,没有特殊处理。另外带E(e)的
浮点数
字符串
也进行了处理。
【python】float()将
字符串
或整数
转换成
浮点数
【python】float()将
字符串
或整数
转换成
浮点数
。
Java 将
浮点数
转换成
人民币读法
字符串
《疯狂Java讲义(第4版)》第4章 流程控制与数组 本章练习 5 编写一个程序,将
浮点数
转换成
人民币读法
字符串
,例如,将1006.333
转换成
壹千零陆元叁角叁分。 参考已有的解决方案上进一步完善,在1000亿范围内基本符合人民币金额读写规范。 特殊情况解决: 输入的数为0直接输出“零元整” 小数位只有分位且整数位不为零时分位前应加“零”,例如,12.04应
转换成
“壹拾贰元零肆分” 小数位为零且整数位不为零时应在整数位后加“整”,例如,12应
转换成
“壹拾贰元整” 分组转换时,如...
python 如何把
字符串
转换成
浮点数
如何把
字符串
型数字‘123.456’
转换成
float型数据 直接自带float就行啦 test1 ="123.456" test2 = '12.304' test3 = '12.34' print(float(test1)) print(float(test2)) print(float(test3)) 结果: 123.456 12.304 12.34 如何使用map和reduc...
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章