我試圖將字符串轉換成二進制整數將字符串轉換二進制整數在Python
string = "0b011"
i = int(string)
但這代碼引起了ValueError
。但是,下面的代碼工作正常:
i = int(0b011)
但在這裏我通過一個二進制文字,而不是一個字符串。如何轉換字符串?
我試圖將字符串轉換成二進制整數將字符串轉換二進制整數在Python
string = "0b011"
i = int(string)
但這代碼引起了ValueError
。但是,下面的代碼工作正常:
i = int(0b011)
但在這裏我通過一個二進制文字,而不是一個字符串。如何轉換字符串?
試試這個代碼:
string = '0b011'
i = int(string, 2) # value of i is 3
它使用內置的程序int()與可選的基本參數,表示在轉換中使用的基準 - 在這種情況下爲兩個,從文檔:
基本參數給出了轉換的基數(默認爲10),可以是範圍[2,36]或零中的任何整數。如果基數爲零,則根據字符串的內容確定合適的基數;解釋與整數文字相同。
使用第二個可選的參數(基地),告訴int()
該字符串的base 2
:
int(str[,base])
>>> string = "0b011"
>>> int(string,2)
3
>>> from ast import literal_eval
>>> literal_eval("0b011")
3
第二個參數做了什麼? –