如何将字符串转换为double并将其存储在两个不同的变量中?

时间:2014-07-05 06:29:33

标签: java android

我是Java和Android的新手,所以我真的不知道所有的代码和语法。我必须将String转换为Double。例如,如果我有一个字符串:

Double dob1,dob2;
String str = "12345,56789";

现在我必须将其转换为双重格式,并希望将值存储为:

dob1 = 12345
dob2 = 56789

我该怎么做?

6 个答案:

答案 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