2012-09-07 26 views
1

我正在轉換十六進制數據爲十進制,範圍爲從00到FF如何小數0打印爲000蟒蛇

hex_data = "FF" 
int("0x" + hex_data , 16) 

回報但是當我給0作爲hexdata它給0 wheras我需要000

怎麼辦呢

+0

整數不會與前額外的數字顯示,嘗試串 – lolopop

+0

請告訴我原因標記負 – Ragav

+0

'INT()'返回一個int,所以不能返回'000',因爲它與'0'的數字相同。你必須以這種或那種方式將其串聯起來 – Kos

回答

5

你需要對其進行格式化:

hex_data = "FF" 
number = int("0x" + hex_data, 16) 
print '%03d' % number # either this 
print '{:03d}'.format(number) # or this (Python >= 2.6) 
+3

添加「0x」是不必要的。 – DSM

+0

@DSM:雖然會更適合作爲對問題的評論。 – ThiefMaster

0

以及物品是否完整起見,你也可以這樣做:

str(int(hex_data, 16)).zfill(3)