在Java中,我如何划分两个不同的字符串,并将两个字符串的商作为字符串返回?
这是我正在尝试实现的功能:
public static String divideTwoStrings(string1, string2){
//this function should convert both strings to doubles,
//and then return their quotient as a string
}
答案 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 + "";
}