2011-03-16 23 views
25

我想輸出一些數字在日誌文件中,我想墊通過printf功能彩車的負載產生:如何填充printf以考慮負號和可變長度數字?

058.0 
020.0 
038.0 
-050.0 
800.0 
150.0 
100.0 

目前我在做這個:

printf("% 03.1f\n", myVar); 

...其中myVar是一個浮點數。從該語句的輸出是這樣的:

58.0 
20.0 
38.0 
-50.0 
800.0 
150.0 
100.0 

what I've read我希望我的代碼產生我在這篇文章上提到的輸出,但很明顯,什麼是錯的。你一次只能使用一面旗幟嗎? ..或者還有其他事情在這裏?

+0

你也許應該使用合適的下I/O ++流。如果這是_really_一個C++的問題。 – paxdiablo 2011-03-16 12:38:49

+4

好吧,這是一個C問題 – 2011-03-16 12:56:40

回答

21

的寬度說明是完整的寬度:

printf("%05.1f\n", myVar); // Total width 5, pad with 0, one digit after . 

爲了讓您的預計格式:

printf("% 06.1f\n", myVar); 
+1

是的,就是這樣。我還沒有意識到填充包括小數點等......儘管需要包含空格或符號值。 – 2011-03-16 12:24:44