2013-10-08 107 views
0

所以我遇到了Python格式的問題,其中一個數字前面的符號佔用一個空格,並且與我想要呈現的所有數字不一致。此外,積極跡象並未顯示出來,因爲它們應該是。Python格式化間距問題?

這裏是我的代碼示例:

number1 = 23.12312312 
number2 = -31.3131313 
number3 = 63.1335 

number4 = 12.323 
number5 = 23.1111 
number6 = 14.5555 

print("{0:<15} {1:+>3.6f} {2:+>3.6f}".format(number1, number2, number3)) 
print("{0:<15} {1:+>3.6f} {2:+>3.6f}".format(number4, number5, number6)) 
print("{0:<15} {1:+>3.6f} {2:+>3.6f}".format(number1, number2, number3)) 

輸出:

23.12312312  -31.313131 63.133500 
12.323    23.111100 14.555500 
23.12312312  -31.313131 63.133500 

有什麼辦法解決這一問題?

回答

4

讓我們選一個號碼。研究這些直到光黎明;-)

>>> x = 23.12312312 
>>> print "{:3.6f}".format(x) 
23.123123 
>>> print "{:10.6f}".format(x) 
23.123123 
>>> print "{:11.6f}".format(x) 
    23.123123 
>>> print "{:+11.6f}".format(x) 
+23.123123 

數之前.寬度輸出字段的,而不是小數點前的位數。你的3太小了。

而且通常不需要> - 大多數情況下默認情況下都是右對齊的。如果您必須使用它,請在>之後放置+,而不要放在>之前。夠好了?