元组正在将浮点数转换为字符串

我编写了一个函数来lat, long从 ArcGIS 服务器返回地址。函数如下:


def get_lat_long(address):

    coordinates = geocode_address(address)

    lat = "{:.2f}".format(coordinates['y'])

    long = "{:.2f}".format(coordinates['x'])

    print(lat, long)  # prints: 42.34 -71.15

    return lat, long

如您所见,lat, long是一个浮点数元组。但是,当我调用此函数并打印类型时,它返回一个字符串!


print(type(get_lat_long('<some address>')[0]))

# prints <class 'str'>

为什么会发生这种转换?我怎样才能保持lat, long浮动?


幕布斯6054654
浏览 187回答 1
1回答

MM们

执行 时lat = "{:.2f}".format(coordinates['y']),您将 的值设置为lat带有两位十进制数字的格式化字符串。(变量相同long)变量的浮点类型不会通过返回元组转换为字符串,而是通过这种方式对其进行格式化。如果您只想四舍五入到两位小数,同时将类型保留为浮点数,请使用round(number, 2),这会将数字四舍五入到两位小数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python