首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Django从Postgrades数据库中获取十进制数据

使用Django从Postgrades数据库中获取十进制数据
EN

Stack Overflow用户
提问于 2021-11-24 18:58:10
回答 1查看 36关注 0票数 1

我使用Python和Django框架从PostGress数据库中获取一些十进制数据。我的问题是,变量"new_poi_lat“显示正确,但是为什么变量"poi_lat”显示如下所示?!我希望"poi_lat“变量能够正常显示。然后我想使用"zip (poi_lat,poi_log)“,但是它会给出一个错误!

我的代码:

代码语言:javascript
运行
复制
poi_lat = []
poi_log = []
for id in IDs:
    poi_name =  end_poi.values_list('lat','log').filter(id=id)
    new_poi_lat = poi_name[0][0]
    new_poi_log = poi_name[0][1]
    print("new_poi_lat:" , new_poi_lat)

    poi_lat.append(new_poi_lat)
    poi_log.append(new_poi_log)

   print("poi_lat:" , poi_lat)
coordinates = (zip(poi_lat, poi_log))

output:
new_poi_lat: 34.791553
new_poi_lat: 34.804567

poi_lat: [Decimal('34.791553'), Decimal('34.804567')]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-24 19:15:11

这是因为有Decimal对象,当您打印一个列表时,它会在上面调用repr(…),而不是str(…)

您可以轻松地将它们转换为floats,然后将它们放在一个列表中:

代码语言:javascript
运行
复制
poi_lat = []
poi_log = []
for id in IDs:
    poi_name =  end_poi.values_list('lat','log').get(id=id)
    new_poi_lat = poi_name[0]
    new_poi_log = poi_name[1]
    print("new_poi_lat:" , new_poi_lat)

    poi_lat.append(float(new_poi_lat))
    poi_log.append(float(new_poi_log))

   print("poi_lat:" , poi_lat)
coordinates = (zip(poi_lat, poi_log))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70101562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档