[Python] 各種轉換

2222345345發表於2018-08-27

Hex -> Dec

假定16進位制是字串:

s = "6a48f82d8e828ce82b82"

就可以使用下面的表示式轉換成整型:

i = int(s, 16)

例如:

int("0xff", 16)
# 輸出: 255
int("FFFF", 16)
# 輸出: 65535

可以使用 str(i) 進一步轉換成十進位制字串。

Dec -> Hex

使用:

hex(dec).split('x')[-1]

後面的split('x')[-1]取消0x, 例如:

d = 30
hex(d).split('x')[-1]
# 輸出 '1e'

或者

hex(dec)[2:]

string -> double

x = "2342.34"
float(x)
# 輸出: 2342.3400000000001

Python 的float 相當於C 的 double

或者:

 from decimal import Decimal
x = "234243.434"
print Decimal(x)
#輸出: 234243.434

float -> int

如果原始值為字串,寫成

int(float('20.0'))
# 輸出20

binary -> int

可以使用:

int('11111111', 2)
# 255

int <-> string

str(10)
# 輸出: '10'
int('10')
# 輸出: 10

相關文章