Python:如何将字符串转换为int然后将decimal添加到数字

时间:2015-10-01 03:38:19

标签: python

我有一个文本文件,我在python中加载,我加载文件并拆分值。文本文件包含以下...

   678John Jones          23501289100005670
   999Arthur Dudley-Smith 40000956064012300
  5789Bob Billards        04600230190048945
543780Helen W Anderson    53001945045000990
例如,我创建了一个名为Hours []的数组,然后将数字附加到...

Hours.append(int(line[26:30]))

这样做会将Hours [0]的值设为2350,但我希望有一个小数位,所以它应该是23.50

我无法弄清楚如何做到这一点,我能得到的任何帮助都会很棒

2 个答案:

答案 0 :(得分:1)

只需使用浮点数:

Hours.append(float(line[26:30]) / 100.0)

或者,如果您要处理大数字,您可能需要查看十进制模块。

答案 1 :(得分:1)

取第一位,一个点,第二位:

>>> line = '   678John Jones          23501289100005670'
>>> line[26:28] + '.' + line[28:30]
'23.50'

将其转换为数字单向:

>>> from decimal import Decimal
>>> Decimal('23.50')
Decimal('23.50')

如果你必须将它转换为浮点数,那么单尾零也不存在 - 23.5 == 23.50,只有当你把它格式化为字符串并且要求尾随零时它才会存在

>>> int(line[26:28]) + 0.01* int(line[28:30])
23.5

>>> '{0:0.2f}'.format(23.5)
'23.50'