>>> a = 1029108219821082904444333322221111
>>> a % 10**16
4444333322221111
,或者使用字符串操作:
>>> int(str(a)[-16:])
4444333322221111
如果你不事先知道該數量的 「長度」,你可以計算出它:
>>> import math
>>> a % 10 ** int(math.log10(a)/2)
4444333322221111
>>> int(str(a)[-int(math.log10(a)/2):])
4444333322221111
而且,當然,對於號碼的「另一半」,它的號碼是
>>> a // 10 ** int(math.log10(a)/2) # Use a single/with Python 2
102910821982108290
編輯:
如果您的實際問題是「我怎樣才能把一個串了一半」,那麼它的
>>> a = "\x00*\x10\x01\x00\x13\xa2\[email protected]\xfd\x15\xff\xfe\x00\x000013A200402D5DF9"
>>> half = len(a)//2
>>> front, back = a[:half], a[half:]
>>> front
'\x00*\x10\x01\x00\x13¢\[email protected]ý\x15ÿþ\x00\x00'
>>> back
'0013A200402D5DF9'
我試圖INT(STR(A){ - 16:]),錯誤發射'ValueError異常:無效字面對於int()與底座10 :' – user2386107
因爲大括號,我在這裏得到一個'SyntaxError'。你確定你正確地複製了嗎? –
我測試了他的問題,在字符串中加入了大約30個數字,但沒有注意到我實際上是從數字16中取出的。 –