苏州安瑞软件有限公司 2022-11-01 10:29 采纳率: 100%
浏览 31
已结题

C++浮点类型计算有误差

int a=32;
float b = a/100.0;
结果b不等于0.32,而是0.319999993
要怎么处理,才能让int a除以100后得到0.32呢?

  • 写回答

3条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-11-01 10:52
    关注

    输入的话可以直接 %.2f,计算的话可以这样处理下

     int a=32;
    float b = a/100.0;
     b=( (float)( (int)( (b+0.005)*100 ) ) )/100;  //0.32
     printf("%.2f",b);  //0.32
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月1日