[英]Using printf to align doubles by decimal not working
我想打印雙打,以便小數點對齊。 例如:
1.2345
12.3456
應該導致
1.2345
12.3456
我到處都看過了,最好的建議是使用以下方法(5s可以是任何東西):
printf(%5.5f\n");
我已經使用以下(非常)簡單的程序嘗試了此操作:
#include <stdio.h>
int main() {
printf("%10.10f\n", 0.523431);
printf("%10.10f\n", 10.43454);
return 0;
}
我的輸出是:
0.5234310000
10.4345400000
為什么不起作用?
之前的數字.
是最小字符總數 ,不只是在小數點之前。
printf("%21.10f\n", 0.523431);
當您使用"%10.10f"
您要告訴printf()
“使用10個字符位置來打印數字(可選的減號,整數部分,小數點和小數部分)。從這10個位置中,保留10作為小數部分。如果這是不可能的,請忽略第一個數字並使用打印該數字所需的任何位置,以便保留小數位數。”
這就是printf()
在做什么。
因此,您需要指出要使用多少個位置,例如15個位置,這些位置中的多少個位置將是小數位...。例如9個。這將為您留下5個減號位置整數部分,小數點后一位。
也就是說,嘗試在您的printf的"%15.9f"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.