2016-12-01 47 views
0

小數百分比對於百分比的形式 「X%X」 中,第一X < = 3比特,所述第二X == 2個比特如何對齊多發性與printf的

a1 = 93.11; 
a2 = 33.72; 
a3 = 30.69; 
b1 = 0.00; 
b2 = 0.00; 
b3 = 0.00; 
printf("%3.2f%% %3.2f%% %3.2f%%\n", a1, a2, a3); // wrong, how to modify? 
printf("%3.2f%% %3.2f%% %3.2f%%\n", b1, b2, b3); 

輸出:
93.11% 33.72%30.69%
0.00%0.00%0.00%
但輸出結果不正確。如何對準,進行以下的輸出:

enter image description here

+0

你只是想要一個額外領先的尾隨零沒有?我的意思是問題是在那裏只有一個char值的空白。 –

+0

@Ashwin Gupta我已添加圖片。 – Hel

+0

我收到了你,但你打算如何填寫它? 0.00%有一個字符然後93.11%,你需要填寫一些東西。無論是空白還是前導/尾隨零? –

回答

3

我相信你想:

printf("%5.2f%% %5.2f%% %5.2f%%\n", a1, a2, a3); 
printf("%5.2f%% %5.2f%% %5.2f%%\n", b1, b2, b3); 

5手段,打印至少5個字符。

12345 
93.11 <== 5 total characters, counting the decimal point. 
0.00 <== 5 total characters, first char is a [space] 

Link to IDEOne Code

輸出是:

93.11% 33.72% 30.69% 
0.00% 0.00% 0.00% 
+0

這是正確的形式。 – Hel