c++中正确使用round()来四舍五入计算

说明
四舍五入的函数参数可以有多种数据类型。不同的数据类型有不同的结果。
当他的参数应该是浮点数的时候,结果才是真正的四舍五入。

/*
g++ -g -std=c++17 ./src/basic_demo.cpp -o basic_demo
*/

#include <iostream>
#include <cmath>

void test_round(){
    // 参数是浮点数的情况,结果正确
    std::cout << "std::round(12.369)\t" << std::round(12.369) << std::endl;
    std::cout << "std::round(12.9)\t" << std::round(12.9) << std::endl;

    int a1 = 10;
    int a2=13;
    int b=7;

    //参数是整数组成的分子和分母的时候,结果错误
    std::cout << "std::round(10/7)\t" << std::round(10/7) << std::endl;
    std::cout << "std::round(13/7)\t" << std::round(13/7) << std::endl;

    //调整一下参数的类型,结果正确
    std::cout << "std::round(1.0*10/7)\t" << std::round((1.0*10)/7) << std::endl;
    std::cout << "std::round(1.0*13/7)\t" << std::round((1.0*13)/7) << std::endl;
}


int main(int argc, char **argv)
{
    test_round();
    return 0;
}

程序的结果

baby@ubuntu2204:~/devel/cpp$ ./basic_demo 
std::round(12.369)      12
std::round(12.9)        13
std::round(10/7)        1
std::round(13/7)        1
std::round(1.0*10/7)    1
std::round(1.0*13/7)    2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值