如何将string类型转换为int类型

kairen 发布于 2016/10/17 21:56
阅读 732
收藏 0

我获得的是string 类型的字符串数据:

[[-8.6481,41.152536],[-8.647461,41.15241],[-8.646876,41.153139],[-8.645931,41.153823],[-8.645337,41.154354],[-8.643303,41.154327]]

是点坐标数据,如何才能将坐标提取出来?如果用list()来强制转换是一个一个的字符,不是我想要的。

请前辈们指点一下

加载中
1
AlanVision
AlanVision

首先分析这一串数据,可以看出,这是List<List<Double>>类型转成json后的数据。我们只需要将这个json字符串反转回来,然后去List中取数据即可。


public static void main(String[] args) {
	String str="[[-8.6481,41.152536],[-8.647461,41.15241],[-8.646876,41.153139],[-8.645931,41.153823],[-8.645337,41.154354],[-8.643303,41.154327]]";
	List<List<Double>> list=(List<List<Double>>) JsonMapper.fromJsonString(str, List.class);
	for(List<Double> o:list){
		System.out.println(o.get(0)+"---"+o.get(1));
	}
}

JsonMapper是一个json和Object互转的工具类。

输出结果:



k
kairen
谢谢前辈!学习了
0
SupNatural
SupNatural
pos_list = []
# 首先把坐标点分离
for pos_str in orig.strip('[').strip(']').split('],['):
    然后转换成包含两个float的tuple
    p1,p2 = post_str.split(',')
    pos_list.append((float(p1),float(p2)))




k
kairen
谢谢前辈指点!学习了
0
wei2011
wei2011
用eval转。还有你那个不是int型,而是浮点型(float)
返回顶部
顶部