骚然勿外 2015-01-09 20:31 采纳率: 66.7%
浏览 3939
已采纳

C++负数小数如何不按四舍五入保留两位小数

C++负数小数如何不按四舍五入保留两位小数。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-01-10 02:03
    关注
     #include <iostream>
    double foo(double n)
    {
        bool sign = n < 0;
        if (n < 0) n = 0 - n;
        n = ((int)(n * 100.0)) / 100.0;
        if (sign) n = 0 - n;
        return n;
    }
    int main()
    {
        double d1 = -1.2345;
        double d2 = -1.6543;
        std::cout << foo(d1) << " " << foo(d2) << endl;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?