恋喵大鲤鱼 2018-05-09 07:21 采纳率: 33.3%
浏览 2296
已采纳

printf关于浮点数的四舍五入的奇怪问题?

#include

#include
using namespace std;

int main()
{
double lfOut=(4.1*3.0*2.5*0.65-1)*2; //37.975

double lfOut2=37.975;
printf("%.2f\n",(double)(37.975)); //输出37.98,有进位
printf("%.2f\n",lfOut); //输出37.97,无进位,为什么?
printf("%.2f\n",lfOut2); //输出37.98
cout<<"lfOut:"<<lfOut<<endl; //输出37.975

}

上面通过表达式计算出来37.975使用 "%.2f"输出时,为什么没有进位呢?

  • 写回答

4条回答 默认 最新

  • ma0659zhennan 2018-05-09 08:17
    关注

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?