在scanf()函数中我想只取十进制值.我们能实现它吗?例如,为了显示printf("%.2f",A)
最多两个小数位,我们使用我们如何为scanf()功能执行此操作.
你不能这样做,scanf()如果你愿意的话,你可以读取特定数量的字符
float value;
scanf("%4f", &value);
Run Code Online (Sandbox Code Playgroud)
假设输入是
43.23
Run Code Online (Sandbox Code Playgroud)
它会读
43.2
Run Code Online (Sandbox Code Playgroud)
但你不能指定精度。
这没有意义,你能做的是
float value;
if (scanf("%f", &value) == 1)
printf("%.2f\n", value);
Run Code Online (Sandbox Code Playgroud)
毕竟,精度受到二进制表示形式的限制,因此使其仅具有两位小数是没有意义的,因为在算术运算中它可能会四舍五入。