javaString转成Double⼆维数组的⽅法WHY
朋友在⾥求助⼀个问题,问题原型是这样的:
String str = "{{10.14, 11.24, 44.55, 41.01},{12.10, 14.21, 52.14, 50.44},{14.44, 16.12, 45.42, 47.55}}";
转成double[][]{
{10.14, 11.24, 44.55, 41.01},
{12.10, 14.21, 52.14, 50.44},
{14.44, 16.12, 45.42, 47.55}
}
也就是把⼀个可以转换的String转成double的⼆维数组。
HOW
乍⼀看,感觉很简单,实现了⼀下,按惯例先贴代码:
String str = "{{10.14, 11.24, 44.55, 41.01},{12.10, 14.21, 52.14, 50.44},{14.44, 16.12, 45.42, 47.55}}";
str = place("{", "[").replace("}", "]");
String[][] arr = JSON.parseObject(str, String[][].class);
Double[][] ds = new Double[arr.length][arr[0].length];
for(int j=0;j<arr.length;j++){
for(int i=0;i<arr[0].length;i++){
ds[j][i] = Double.valueOf(arr[j][i]);
}
}
这个⾥⾯有⼏个要注意的点是fastjson常用方法
1.先将花括号替换成中括号,
2.使⽤JSON的转化,先转成String的⼆维数组
3.然后才是把数组中的值转成Double的
4.我使⽤的JSON包是fastjson的
import com.alibaba.fastjson.JSON;
以上就是⼩编为⼤家带来的java String 转成Double⼆维数组的⽅法全部内容了,希望⼤家多多⽀持~