在Java中划分两个字符串

时间:2013-05-12 20:28:56

标签: java

在Java中,我如何划分两个不同的字符串,并将两个字符串的商作为字符串返回?

这是我正在尝试实现的功能:

public static String divideTwoStrings(string1, string2){
    //this function should convert both strings to doubles,
    //and then return their quotient as a string
}

3 个答案:

答案 0 :(得分:5)

为此,您需要Double.valueOf。这会将两个字符串转换为Double。然后你可以像平常一样划分它们。取结果,并在其上调用String.valueOf将其重新转换为字符串。

这将返回“0.7857142857142857”

public class Sandbox {

    public static void main(String[] args) {
        System.out.println(divideTwoStrings("5.5", "7"));
    }

    public static String divideTwoStrings(String string1, String string2) {
        return String.valueOf(Double.valueOf(string1) / Double.valueOf(string2));
    }
}

答案 1 :(得分:1)

假设有充分的理由使用String而不是double s,更好的选择可能会使用BigDecimal进行计算。 e.g。

public static void main(String... ignore) {
    System.out.println(divideTwoStrings("123456789.0123456790", "11223344.5566778899"));
}

public static String divideTwoStrings(String string1, String string2) {
    BigDecimal a = new BigDecimal(string1);
    BigDecimal b = new BigDecimal(string2);
    return a.divide(b, a.scale(), RoundingMode.HALF_UP).toString();
}

打印

10.9999999010

答案 2 :(得分:0)

public static String divideTwoStrings(String string1, String string2){
     double d1 = Double.parseDouble(string1), d2 = Double.parseDouble(string2);
     double division = d1 / d2;
     return division + "";
}