【问题标题】:How can you convert a variable into denary in Python? [duplicate]如何在 Python 中将变量转换为 denary? [复制]
【发布时间】:2021-01-26 03:52:58
【问题描述】:

我在将字符串(如输入)转换为 denary 时遇到了问题,因为字符串是使用十六进制所必需的(因为包含字符 a-f,它不能存储为整数)。以下是两种无效的尝试:

>>> hex_number = 'ff' #(255 in denary)
>>> ascii(0xhex_number)
SyntaxError: invalid hexadecimal literal
>>> ascii('0x'+hex_number)
"'0xff'"

我还看到您可以以某种方式使用format(),但这也不起作用。

>>> format(hex_number, '16') #This was what the demo said to do.
'ff              '

我怎样才能将hex_number(十六进制)转换为十进制(又名十进制)或任何其他 n 基数系统?

【问题讨论】:

  • int('ff', 16)

标签: python python-3.x hex ascii


【解决方案1】:

将字符串转换为int,然后再转换回字符串

>>> n = int('ff', 16); n
255
>>> f'{n:d}'
'255'

【讨论】:

  • 哦。我没有意识到您可以将 int() 用于 n 基数字。那会不会让 ascii() 完全没用呢?
  • 我确信ascii 对文本很有用(例如ümlaut\xfcmlaut),但我个人从来没有需要它。 对于数字,不要使用 ascii。一切都可以通过数字的“主”整数表示来完成,并在输入/输出上转换为字符串表示。
猜你喜欢
  • 2015-05-02
  • 1970-01-01
  • 2019-01-20
  • 2022-07-30
  • 1970-01-01
  • 2019-03-26
  • 2013-06-09
  • 1970-01-01
  • 2016-05-09
相关资源
最近更新 更多