繁体   English   中英

Python中自动将字符串转换为数字

[英]Automatic String to Number conversion in Python

我正在尝试比较python中的两个字符串列表。 一些字符串是数字,但是我不想将其用作数字,仅用于字符串比较。

我从文件中读取字符串,并将其放在这样的列表中:

def main():
    inputFileName = 'BateCarteira.csv'
    inputFile = open(inputFileName, "r")

    bankNumbers = []

    for line in inputFile:
        values = line[0:len(line)-1].split(';');

        if (len(values[0]) > 3):
            bankNumbers.append(''+values[0])

但是,当我尝试打印该号码时,其打印内容如下:

1,20091E + 11

打印代码:

    print 'not in the list: ' + bankNumber
    outputFile.write(bankNumber + '-')

我该怎么办,python永远不会将字符串转换为int?

对不起,我的英语:D

Python绝不会将字符串转换为数字,除非您尝试以下操作:

s = "1.2"
a = float(s)

所以我想您的.csv文件中包含字符串“ 1,20091E + 11”。 另请注意,小数点是逗号。 因此,如果您尝试将其转换为浮点数,则转换将失败。

您需要语言环境模块来读取语言环境格式的数字(即在欧洲(大部分)地区使用的十进制逗号)。

import locale
locale.setlocale(locale.LC_ALL, '')
f = locale.atof("1,20091E+11")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM