在小数点前显示固定宽度的浮点数
Displaying fixed width floating point number before decimal
我想显示小数点前固定宽度的浮点数。到目前为止,我设法通过取整数部分、显示所需宽度并在数值前使用“%03d”填充 0,然后显示小数部分来做到这一点。
我想知道是否有标准的显示方式,例如“%3.3f”。
我尝试了以下
printf("value: %3.3f", value);
但是结果只有小数点前一位
如何实现?
你几乎可以做到。 printf("value: %M.Nf", value);
将至少显示 M
个字符和小数点后 N
位数字。
printf("value: %9.3f", -123.4); --> " -123.400"
printf("value: %9.3f", 123456.0); --> "123456.000"
你可以使用
printf("%07.3f", value);
其中 07
表示打印至少 7 个字符并填充零。
例如
printf("%07.3f", 3.3);
打印
003.300
冒着成为一个强大的电力消费者的风险,使用这种格式..
double offset = 3.14159;
printf("Offset: %06d.%02d sec", (int)offset, (int)(100*(offset - (int)offset)));
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch(), system("pause"), or input loop */
int main(int argc, char *argv[]) {
printf("%08.3f", -7.193583);
return 0;
}
我想显示小数点前固定宽度的浮点数。到目前为止,我设法通过取整数部分、显示所需宽度并在数值前使用“%03d”填充 0,然后显示小数部分来做到这一点。 我想知道是否有标准的显示方式,例如“%3.3f”。 我尝试了以下
printf("value: %3.3f", value);
但是结果只有小数点前一位
如何实现?
你几乎可以做到。 printf("value: %M.Nf", value);
将至少显示 M
个字符和小数点后 N
位数字。
printf("value: %9.3f", -123.4); --> " -123.400"
printf("value: %9.3f", 123456.0); --> "123456.000"
你可以使用
printf("%07.3f", value);
其中 07
表示打印至少 7 个字符并填充零。
例如
printf("%07.3f", 3.3);
打印
003.300
冒着成为一个强大的电力消费者的风险,使用这种格式..
double offset = 3.14159;
printf("Offset: %06d.%02d sec", (int)offset, (int)(100*(offset - (int)offset)));
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch(), system("pause"), or input loop */
int main(int argc, char *argv[]) {
printf("%08.3f", -7.193583);
return 0;
}