我是Java和Android的新手,所以我真的不知道所有的代码和语法。我必须将String转换为Double。例如,如果我有一个字符串:
Double dob1,dob2;
String str = "12345,56789";
现在我必须将其转换为双重格式,并希望将值存储为:
dob1 = 12345
dob2 = 56789
我该怎么做?
答案 0 :(得分:3)
如果我了解你,你可以这样做 -
String str = "12345,56789";
String[] arr = str.split(",");
Double dob1 = Double.valueOf(arr[0]);
Double dob2 = Double.valueOf(arr[1]);
System.out.printf("dob1=%f, dob2=%f%n", dob1, dob2);
答案 1 :(得分:2)
这样做的基本方式
Double dob1,dob2;
String str = "12345,56789";
String[] strSplit = str.split(",");
dob1 = Double.parseDouble(strSplit[0]);
dob2 = Double.parseDouble(strSplit[1]);
答案 2 :(得分:0)
StringTokenizer st = new StringTokenizer(str, ",");
dob1 = Double.parseDouble(st.nextToken());
dob2 = Double.parseDouble(st.nextToken());
您也可以使用String.split方法代替tokenizer。
答案 3 :(得分:0)
dob1= Double.parseDouble(str.substring(0, str.lastIndexOf(",")));
dob2= Double.parseDouble(str.substring(str.lastIndexOf(",")+1,str.length()));
答案 4 :(得分:0)
尝试此代码,您可以将值输入双数组
String s1 = "1256,125662";
String []arr=s1.split(",");
double []numArr =new double[arr.length];
for (int i = 0; i < arr.length; i++) {
numArr[i] = Double.parseDouble(arr[i]);
}
答案 5 :(得分:0)
其他人已经回答了如何做到这一点,但是如果你想让它变得更加动态(能够处理2个以上的数字而不明确地为每个数字写出代码),这里有一个例子。方法:
public static double[] getDoublesSeperatedByCommas(String textWithNumbers) {
String[] textParts = textWithNumbers.split(",");
double[] returnDoubles = new double[textParts.length];
for (int i = 0; i < textParts.length; i++) {
if (textParts[i].isEmpty())
returnDoubles[i] = 0;
else
returnDoubles[i] = Double.parseDouble(textParts[i]);
}
return returnDoubles;
}
该方法将采用一个String(就像你指定的那个)并返回一个double数组,其中包含用逗号分隔的所有指定值。我还添加了一个简单的检查以查看字符串是否为空(例如:“245,5653 ,, 346”)
-Thomas