在 Java 中,如何划分两个不同的字符串,并将两个字符串的商作为字符串返回?
这是我要实现的功能:
public static String divideTwoStrings(string1, string2){
//this function should convert both strings to doubles,
//and then return their quotient as a string
}
在 Java 中,如何划分两个不同的字符串,并将两个字符串的商作为字符串返回?
这是我要实现的功能:
public static String divideTwoStrings(string1, string2){
//this function should convert both strings to doubles,
//and then return their quotient as a string
}
为此,您需要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));
}
}
假设有充分的理由使用String
s 而不是double
sa 更好的选择可能 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
public static String divideTwoStrings(String string1, String string2){
double d1 = Double.parseDouble(string1), d2 = Double.parseDouble(string2);
double division = d1 / d2;
return division + "";
}