怎样将整数转换为浮点数?

注意到一个现象,C++当中,用流输出cout无法将整数转换为浮点数,例如:


cout<<setprecision(2)<<6<<endl;

是无法输出结果6.0的
要采用


printf("%.1f",6);

才能达到如是效果。

整数乘1.0变为浮点数。

    cout << setprecision(1) << setiosflags(ios::fixed)<< (double)6 << endl;

setprecision(2)功能是控制输出流显示浮点数的有效数字个数为2个数字, 但是数字个数小于2个数字不会在后面补0。
cout<<setprecision(2)<<6.78<<endl; 输出6.8

要在后面补0应该是
cout<<fixed<<setprecision(2)<<(double)6<<endl; 输出6.00

你先把整数转换成浮点数,输出格式是按类型来区分的

如果你把6改成6.666666,你就会看到效果了。

呃,你这样之所以还是输出6,是因为setprecision只对浮点数的输出有效,而6是int类型,匹配到的是输出int的重载运算符,所以无效。可以cout<<6.0这样

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632