【问题标题】:Input decimal numbers in C [duplicate]在C中输入十进制数[重复]
【发布时间】:2016-05-16 16:39:09
【问题描述】:

我是编程语言的初学者。所以我面临一些问题。请帮帮我。 是否可以使用 C 中的“scanf”输入小数点后 2 位的浮点数或双精度数??

【问题讨论】:

  • 欢迎来到 StackOverflow。分享一些你当前的代码可以帮助你从这个网站获得帮助。

标签: c scanf


【解决方案1】:

请看这里:How to only accept a certain precision (so many decimals places) in scanf?

float value;
scanf("%4f", &value);

并不是真的这样做,而是读取 4 位 edit: 4 characters 浮点数。您可以设置其他数字而不是 4。

如果您真的只需要 2 位小数,您可以使用 scanf 读取数字,然后使用 roundf 进行循环。

#include <math.h>
...
float value;
scanf("%f", &value);
value = roundf(value*100)/100

【讨论】:

  • 次要:使用round(value*100.0)/100 (round() 100.0) 通常可以避免范围和精度问题。
【解决方案2】:

您可以使用

读取浮点数
float a;
scanf("%f", &a);

你可以阅读双打

double a;
scanf("%lf", &a);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多