小编jea*_*eaq的帖子

为什么 double 和 %f 不想打印 10 位小数?

我正在学习 C 编程语言并正在弄清楚格式说明符,但似乎 double 和 %f 无法正常工作。

这是我的代码

#include <stdio.h>
int main(void)
{ 
    double a = 15.1234567899876;
    printf("%13.10f", a);
}
Run Code Online (Sandbox Code Playgroud)

在我的教科书中,“%13.10f”中指出,13 代表我们要打印的总位数(包括点),10 是小数位数。所以我期望得到 15.1234567899 但没有。

运行后我得到 15.1234567900。这不仅仅是小数点不够,而是小数点打印不正确。变量 a 在 7 之后和 9 之前有 8,但打印的数字没有。

有人可以告诉我我错在哪里吗?

谢谢。脂蛋白

c format double

1
推荐指数
1
解决办法
109
查看次数

标签 统计

c ×1

double ×1

format ×1