从Python中删除int或string中的小数位

时间:2015-09-29 17:28:55

标签: python decimal

我有一个像0.0.1这样的字符串的文本文件,我想删除小数,使其成为001或只是1.所以例如1.0.1将成为101。

我考虑过使用round(),但它会将0.0.1变为0,这不是我想要的。

3 个答案:

答案 0 :(得分:6)

你可以删除'。'数字之间:

s = '0.0.1'
s = s.replace('.', '')

之后你可以把它变成一个int:

int(s)

通过使其成为整数,您还将删除任何前导零。如果之后需要一个字符串,只需将其转换回字符串:

s = str(int(s))

答案 1 :(得分:2)

您可以使用TransactionId和理解:

EntityHistory

如果要剥离前导0:

join

答案 2 :(得分:2)

使用replace()

尝试类似这样的代码块:

new_file = open('newfile.txt','w')

line_file = open('myfile.txt','r').readlines()

for line_in in line_file:
    line_out = line_in.replace('.','')
    new_file.write(line_out)

应该读取您的文件,删除所有句点,并将结果写入新文件。

如果它不适用于您的具体情况,请对此答案发表评论,我会更新代码块以执行您需要的操作。

P.S。根据下面的评论,你可以在一行中实现:

open('newfile.txt','w').write(open('myfile.txt','r').read().replace('.',''))

如果你愿意,可以使用它。