需要帮助了解如何在C ++中使用round函数

时间:2019-02-01 23:11:07

标签: c++

.filter

每当我运行我的代码时,它都能正确编译并提供正确的总体总数,但是round函数似乎无法正常工作。我总共输入了12美元的餐费,8%的小费和20%的税。正确答案是$ 15.36,但我想将其四舍五入到$ 15。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

您必须将round()函数的返回值分配给overall_total,如下所示:

overall_total = round(overall_total);

以上行应替换round (overall_total);

C ++中的某些函数对函数的参数进行引用(按引用传递),例如std::sort(),因此您只需对std::sort(v.begin(), v.end())和向量v进行排序,而不必分配返回值。 (从技术上讲,std::sort引入了与指针相似的迭代器,但它们基本上具有相同的结果。)

但是,round()函数实际上取参数并返回一个新的值的拷贝(通过噪声值) - 它不直接地“重新分配”的参数,这样,圆形的值。因此,必须将函数的返回值分配给变量(或在这种情况下,为了“重新分配”而使用相同的变量)。

您可以在此处了解有关区别的更多信息:

What's the difference between passing by reference vs. passing by value?