| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 907 人关注过本帖
标题:[原创]太简单了,但是我不理解,请帮忙!!!
只看楼主 加入收藏
lu
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-5-11
收藏
 问题点数:0 回复次数:12 
[原创]太简单了,但是我不理解,请帮忙!!!
float x=333.12345678901234567890;
printf("%f",x);
结果为什么是:333.123444
2005-09-07 17:04
jackrain
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2005-9-4
收藏
得分:0 
默认的float只输出6位小数

程序和身体一样,健壮,再健壮! 我爱C++
2005-09-07 17:32
Arthas1024
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-9-6
收藏
得分:0 
恩 同意楼上观点 你先看看书上的定义吧。

When there is a will there is a way.
2005-09-07 22:18
jakoes
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-8-28
收藏
得分:0 
float是单精度小数,精确到6位,
double是双精度,精确到后面10位;

顺便说一声:楼上的,你的签名:应该是:where there is a will,there is a way,  不是when,是where
2005-09-08 03:19
lu
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-5-11
收藏
得分:0 
[原创]关于输出精度的一些简单问题
float x=333.12345678901234567890; printf("%f",x); 当然float默认输出精度是6位小数,但结果为什么是333.123444 而不是333.123457
2005-09-08 09:12
yurec
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2005-7-5
收藏
得分:0 
我也不明白.同样的用你的做了实验..
float x=333.33339999999;
printf("%f",x);

结果确是.333.333405
2005-09-08 12:35
yurec
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2005-7-5
收藏
得分:0 
问题是不是出在printf("%f",x); 这个f这里呢?
2005-09-08 12:39
ljked1
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-8-31
收藏
得分:0 
f的精度是7位,后边的就是伪数字,没用的
只到7位
你可以换long double看看

2005-09-08 12:57
Arthas1024
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-9-6
收藏
得分:0 
[QUOTE]  顺便说一声:楼上的,你的签名:应该是:where there is a will,there is a way,  不是when,是where[/QUOTE]
呵呵 对于我来说不是where 而是when的问题哦  这个是我自己改变的
不要见怪哦

When there is a will there is a way.
2005-09-08 19:42
ajey2004
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2004-12-30
收藏
得分:0 
这是为什么泥
有没有高手可以解释一下啊

2005-09-08 20:55
快速回复:[原创]太简单了,但是我不理解,请帮忙!!!
数据加载中...
 
   



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

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