c++关于float的命令

#include<stdio.h>intmain(){floatmoney=123.23;printf("%f",money);return0;}为什么输出的是123.2... #include <stdio.h>
int main()
{
float money = 123.23;
printf("%f", money);

return 0;
}
为什么输出的是123.230003
最后那个3是什么情况
展开
 我来答
mr_shj
推荐于2016-08-21 · TA获得超过2682个赞
知道大有可为答主
回答量:1665
采纳率:94%
帮助的人:1528万
展开全部
float数据类型是浮点数,其记录的数据不是完全精确的,有效位数是大概是7位吧,后面多出的0003就是不精确的典型范例,如果你期望输出数据是123.23可考虑下列方法:

printf("%6.2f",money);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扈怀炜4h
2015-04-15 · TA获得超过6040个赞
知道大有可为答主
回答量:6907
采纳率:67%
帮助的人:1609万
展开全部
输出设置一下长度

printf("%6.2f",money) 就好了,这个3和系统的存储精度有关
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lrh3321
2015-04-15 · TA获得超过2184个赞
知道大有可为答主
回答量:2296
采纳率:75%
帮助的人:2299万
展开全部
把money 声明为double 就好了,大概是单精度的精度问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式