-4

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

这是我要实现的功能:

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

3 回答 3

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));
    }
}
于 2013-05-12T20:31:14.140 回答
1

假设有充分的理由使用Strings 而不是doublesa 更好的选择可能 eb 使用 BigDecimal 进行计算。例如

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
于 2013-05-12T20:33:59.920 回答
0
public static String divideTwoStrings(String string1, String string2){
     double d1 = Double.parseDouble(string1), d2 = Double.parseDouble(string2);
     double division = d1 / d2;
     return division + "";
}
于 2013-05-12T20:33:13.640 回答