String 如何在Python 2.7中将字符串转换为浮点

String 如何在Python 2.7中将字符串转换为浮点,string,python-2.7,floating-point,String,Python 2.7,Floating Point,我正在尝试将十进制地理坐标转换为字符串和浮点。 坐标以csv格式显示,如“51213512”。使用Python脚本,我只是读取坐标并添加“.”。如果我没有添加逗号,那么脚本的其余部分将无法工作 我已经试过一些方法,但都不管用。这就是我目前得到的 latitude=float(long('51.213512')) 结果是ValueError: ValueError: invalid literal for long() with base 10: 'Long' 去掉“长”这个词,它应该会起作用

我正在尝试将十进制地理坐标转换为字符串和浮点。 坐标以csv格式显示,如“51213512”。使用Python脚本,我只是读取坐标并添加“.”。如果我没有添加逗号,那么脚本的其余部分将无法工作

我已经试过一些方法,但都不管用。这就是我目前得到的

latitude=float(long('51.213512'))
结果是ValueError:

ValueError: invalid literal for long() with base 10: 'Long'

去掉“长”这个词,它应该会起作用

latitude = float('51.213512')
编辑:好的,因为您正在获取坐标并手动转换为十进制字符串,所以您需要做的就是使用我最初说的代码。
long
功能 将整数或整数字符串转换为
long
类型,而不是浮点类型

>>> long(5)
5L
>>> long('5')
5L
>>> long(5.5)
5L
>>> long('5.5')
ValueError: invalid literal for long() with base 10: '5.5'

不太清楚为什么在本例中使用long如果您想将此变量转换为float,只需单独使用float函数,您似乎混淆了long函数和float函数。不要同时使用这两个参数,否则会混淆python(基本上不知道该怎么做,因为你一次给它两个参数)

我建议只使用float函数本身。这将避免混淆

latitude = float('51.2135512')

我已经试过了。但这是输出值错误:无法将字符串转换为浮点:Long@Lukas你能告诉我你是如何生成地理坐标的吗?@Lukas:start Python。在提示下,输入
float('5.125')
,然后按return键。您得到的输出是什么?如果它不是
5.125
的话,那么你的Python安装就出了很大的问题。由于回溯,我感到困惑。如果我使用的是您的代码,它会说:'ValueError:无法将string转换为float:Long'@Lukas:在Python 2.7.15中适用于我。这是一段更大的代码的一部分吗?如果是,请发布整个函数。只需编辑你的问题并添加代码。你提到一个逗号。是否添加逗号或小数点(句号、点等)?这应该会有很大的不同。我怀疑您正在尝试将输入文件中的标题行(可能带有标题值“Lat”和“Long”)转换为float。您需要找到一种方法跳过该标题行,只转换值。@MarkDickinson是的,这就是问题所在。有看不见的人物