首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么1.0乘以5得到的输出是5,而不是5.0?

问为什么1.0乘以5得到的输出是5,而不是5.0?
EN

Stack Overflow用户
提问于 2015-06-24 13:40:56
回答 1查看 245关注 0票数 4
代码语言:javascript
复制
cout<<5*1.0<<endl;
cout<<(float)5<<endl;

在这两种情况下,我得到的答案都是5,而不是5.0。请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2015-06-24 13:49:34

您需要指定floatingPoint输出的格式和精度,例如:

代码语言:javascript
复制
std::cout << std::fixed << std::setprecision(1) << 5*1.0;

LIVE

来自The.C++.Programming.Language.Special.Edition 21.4.3 FloatingPoint Output io.out.float

浮点输出由格式和精度控制:

-通用格式允许实现选择一种格式,该格式以最好地保留可用空间中的值的样式呈现值。精度指定最大位数。它对应于printf()的%g (§21.8)。

-科学格式表示小数点前有一位数和指数的值。精度指定小数点后的最大位数。它对应于printf()的%e。

-固定格式将值表示为整数部分,后跟小数点和小数部分。精度指定小数点后的最大位数。它对应于printf()的%f。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31018436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档