2017-05-22 6 views
-2

16進文字列をint型に変換したいが、値は変更しない。16進文字列を変換せずにPythonでint型にキャストする方法

>>> int_value = 0xb19bc74cf4 
>>> print type(int_value) 
<type 'int'> 

例えば

今、私は今int_valueするstr_valueを変換するにはどうすればよいの文字列

>>> str_value = "0xb19bc74cf4" 
>>> print type(str_value) 
<type 'str'> 

がありますか?

目標値結果は次のようになります。

input: str_value = "0xb19bc74cf4" 
Output: int_value = 0xb19bc74cf4 
Print of int_value to be 0xb19bc74cf4 
print of type(int_value) to be <type 'int'> 
+2

どのように? – kuro

+2

「変換なし」と「値を変更しない」とはどういう意味ですか? –

+0

それは正しいです@StefanPochmann - 私はそれが数値で変換されることを望んでいません、それは16進値としてではなくタイプintとして残る必要があります。 –

答えて

0

あなたはintが内部バイナリ値であることを認識する必要があります。 「16進値として、しかしint型として残す」方法はありません。 printは、表示のために戻って文字列に変換し、そしてあなたは、変換カスタマイズするformatを使用することができます: `int型(str_value、16)`について

>>> str_value = '0xb19bc74cf4' 
>>> str_value 
'0xb19bc74cf4' 
>>> n = int(str_value,16) 
>>> print(n) # default is to print in base 10 
762822741236 
>>> print(format(n,'#x')) # format in base 16 with "0x" prepended. 
0xb19bc74cf4 
関連する問題