标题:[求助]float double的疑问
只看楼主
zzw1978524
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-11-24
 问题点数:0 回复次数:8 
[求助]float double的疑问

void main()
{
 double b;
 b=0.1234567891234567899e15;
 printf("b=%f\n",b);
}
输出结果是:b=123456789123456.797000
这个输出结果以%f(只能保留7位有效数字 )输出的,但结果保留了16位有效数字,这怎么回事啊?

搜索更多相关主题的帖子: float double 疑问 
2006-01-05 19:33
李建伟1289
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2005-11-12
得分:0 
以下是引用zzw1978524在2006-1-5 19:33:00的发言:

void main()
{
 double b;
 b=0.1234567891234567899e15;
 printf("b=%f\n",b);
}
输出结果是:b=123456789123456.797000
这个输出结果以%f(只能保留7位有效数字 )输出的,但结果保留了16位有效数字,这怎么回事啊?


如果你想要保留7位也是可以的,但是这里你并没有作输出 控制,也许你看书上说是7 位,但它的意思是系统默认输出的小数位数


江湖中人向来都是不鸣则已,一鸣惊人。总有一天我要下天山,威振武林!
2006-01-07 20:38
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
得分:0 
这是double双精度浮点型,有效值应该是16吧,

2006-01-29 09:39
zushuboderen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-12-24
得分:0 
zenme 怎么提示非法字符啊什么意思啊

冷静点............. 耐心点.............
2006-01-29 11:09
ADALE
Rank: 2
等 级:新手上路
威 望:4
帖 子:483
专家分:0
注 册:2005-11-18
得分:0 
double型要用%lf输出

喜欢宁静的平凡生活
2006-01-29 12:05
lhlovelk
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-1-12
得分:0 

换成float不就会输出八位啦吗!


2006-01-30 17:57
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 
原因很简单f%默认的就是双精度输出

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-01-30 23:00
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
得分:0 
保留有效是有效小数吧~~~~不是全部位数是7位吧
float有6位小数
double是16位小数
不知道是不是这样

2006-02-01 17:27
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
得分:0 
我想问一下,如果我想得到一个float型的指定位数怎样处理?

2006-02-01 17:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-41771-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.145586 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved