C 显示小数点前的固定宽度浮点数

C 显示小数点前的固定宽度浮点数,c,floating-point,avr,floating-point-conversion,C,Floating Point,Avr,Floating Point Conversion,我想在小数点之前显示固定宽度的浮点数。到目前为止,我通过取整数部分,显示所需的宽度,在数字值之前使用“%03d”填充0,然后显示小数部分来实现。 我想知道是否有标准的显示方式,例如“%3.3f”。 我尝试了以下方法 printf("value: %3.3f", value); 但结果只有小数点前1位 我怎样才能做到呢?你几乎可以做到printf(“值:%M.Nf”,值)将在小数点后至少显示M个字符和N个数字 printf("value: %9.3f", -123.4); --> "

我想在小数点之前显示固定宽度的浮点数。到目前为止,我通过取整数部分,显示所需的宽度,在数字值之前使用“%03d”填充0,然后显示小数部分来实现。 我想知道是否有标准的显示方式,例如“%3.3f”。 我尝试了以下方法

printf("value: %3.3f", value);
但结果只有小数点前1位


我怎样才能做到呢?

你几乎可以做到<代码>printf(“值:%M.Nf”,值)将在小数点后至少显示
M
个字符和
N
个数字

printf("value: %9.3f", -123.4);   --> " -123.400"
printf("value: %9.3f", 123456.0); --> "123456.000"
你可以用

printf("%07.3f", value);
其中
07
表示打印至少7个字符,填充为零

e、 g

printf(“%07.3f”,3.3)

印刷品


003.300

如果有可能成为一个强大的用电设备,请使用此格式

双偏移=3.14159;
printf(“偏移量:%06d.%02d秒”,(int)偏移量,(int)(100*(偏移量-(int)偏移量))

我假设如果
value=5.34
您想要输出
005.340
,是否正确?是的,这就是我想要显示的内容。我尝试了这个,但不知道为什么它不起作用。printf(“值:%0M.Nf”,值);似乎有效。这个4岁的问题已经给出了正确答案。这个答案充满了问题:
(int)offset
是未定义的行为,如果转换溢出,则乘以100可以取整并生成
100
,将
双精度
数字(如3.9999999999996)显示为“3.100”。