C 如何限制printf在小数点后显示的位数?
我编写了一个小程序,使用scanf读取两个整数,然后执行各种算术计算。我正在使用C 如何限制printf在小数点后显示的位数?,c,decimal,C,Decimal,我编写了一个小程序,使用scanf读取两个整数,然后执行各种算术计算。我正在使用printf显示结果。如何使printf仅显示小数点后的两位数字?从简化的代码示例开始: #include <stdio.h> int main(void) { double third = 1.0 / 3.0; // display data printf("\n%20s%20s", "Description", "Data"); printf("\n%20s%2
printf
显示结果。如何使printf
仅显示小数点后的两位数字?从简化的代码示例开始:
#include <stdio.h>
int main(void)
{
double third = 1.0 / 3.0;
// display data
printf("\n%20s%20s", "Description", "Data");
printf("\n%20s%20s", "-----------", "----");
printf("\n%20s%20lf", "One third", third);
printf("\n");
return 0;
}
在您想要的位置使用“%.2f”
例如,修改以下语句
printf("\n%20s%20lf", "Fraction", quotientdecimal);
在这一点上:
printf("\n%20s%.2f", "Fraction", quotientdecimal);
将只显示变量QuotentDecimal的两个小数。您所说的“仅两个小数”到底是什么意思?您指的是浮点宽度(字符总数)、精度(小数点右边的数字)还是其他?请包括样品输出。您可以使用
和
元素来构造示例(因此尚不支持)。请注意,您不需要发布整个程序。应该完整而简洁。main
的主体可以简化为一个printf
语句。OP可能更喜欢%-20.2lf
将结果一直粘贴到右侧,结果是小数点始终对齐。如果20个字符不是所需的列宽,只需更改说明符的该部分。。。
printf("\n%20s%.2f", "Fraction", quotientdecimal);