需要帮助在 printf 中四舍五入双数

Need help rounding a double number in printf

我正在尝试对乘法和的数字进行舍入,但我没有运气。

我想我用错了 round 函数。但是我什么也找不到。

int main()
{
    double euro, ats, sum;

    euro = 414;

    ats = 13.760;
    // Umrechnen in Komma
    sum = euro * ats;
    printf("Summe = %f\n", sum, lround(sum));
    return 0;
}

我的目标是计算414 * 13.760 = 5697四舍五入。

您的代码将 2 个参数传递给 printf,而您的格式只需要 1 个(%f)。

printf("Summe = %f\n", sum, lround(sum));

所以你可以简单地(正如尤金在评论中所说):

printf("Summe = %.0f\n", sum);

在这种情况下,您要打印一个四舍五入为小数点后数字的浮点数 (.0)。


如果您真的想使用 lround,请注意它 returns 一个 long (some ref)。所以,你最好:

printf("Summe = %ld\n", lround(sum));

或者也检查 math.h roundceilfloor 函数!