【问题标题】:Rounding a float to user-specified number of decimal places in C [duplicate]在C中将浮点数舍入到用户指定的小数位数[重复]
【发布时间】:2021-04-11 17:48:57
【问题描述】:

在问题中,如何将浮点数舍入到用户指定的小数位数?我当前的代码仅将浮点数打印到小数点后 2 位。另外,是否有用于此目的的内置函数?

#include <stdio.h>

int main()
{
    float x = 1.2345;
    int dp;
    printf("The float is: %f. How many decimal points to round to? ", x);
    scanf("%d", &dp);
    printf("Number: %.2f", x);
}

【问题讨论】:

    标签: c floating-point rounding


    【解决方案1】:

    您可以用* 字符代替精度,在这种情况下,下一个参数将指定精度。

    printf("Number: %.*f", dp, x);
    

    【讨论】:

    • 成功了,非常感谢!
    • @jk_01:如果答案解决了您的问题,那么您可能需要考虑接受答案。有关更多信息,请参阅此官方帮助页面:What should I do when someone answers my question? 但是,我不确定在关闭问题后是否可以接受答案。
    • @AndreasWenzel:关闭只会阻止新的答案。接受和投票仍然可以访问。
    猜你喜欢
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 2012-06-19
    相关资源
    最近更新 更多