C++程序中为什么用cout输出float或double型的数据,屏幕上不是小数而是整数呢?

#include<iostream.h>voidmain(){inti=2;floatj=3.14;floata,b;a=float(i);b=(int)j;cout<<... #include <iostream.h>
void main()
{
int i=2;
float j=3.14;
float a,b;
a=float(i);
b=(int)j;
cout<<"float型转换为int型:i="<<i<<",a="<<a<<endl;
cout<<"int型转换为float型:j="<<j<<",b="<<b<<endl;
}

#include <iostream.h>
void print(double d)
{
cout<<"This is a double "<<d<<"\n";
}
void print(int i)
{
cout<<"This is an integer "<<i<<"\n";
}
void main()
{
int x=1,z=10;
float y=1.0;
char c='a';
print(x);
print(y);
print(c);
print(double(z));
}

这两个程序输出的结果都是整数,但是在C里面float类型的数据明明可以输出小数的?求解??
展开
 我来答
terranlong
2011-09-26 · TA获得超过7294个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:4013万
展开全部
cout跟printf是不同的,cout输出float或double,是会将小数点后非有效数字的0去掉的,而printf里面以%f输出规定是以6位小数输出,不管是不是有效数字
gh2005
推荐于2017-11-24 · TA获得超过198个赞
知道小有建树答主
回答量:260
采纳率:0%
帮助的人:372万
展开全部
楼主,ANSI C++里一个浮点型若是小数部分为0,直接输出必然是不带小数点的。
现在,例如
float a=3;
你若想输出3.0,输出代码要这样写:
cout << showpoint << a;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式