如何将带有int的字符串转换为带有double的字符串?

时间:2017-07-15 17:12:59

标签: java android string int double

我正在构建一个计算器,要使计算器正常工作,我需要将所有的int数转换为我的字符串中的双数。例如,如果我有这个字符串:3 * 8 + 5 / 2-4,我想将他转换为:3.0 * 8.0 + 5.0 / 2.0-4.0。 我怎么能这样做?

编辑:如果我有这个字符串:3.0 * 8.0 + 5.0 / 2.0-4,我想将他转换为:3.0 * 8.0 + 5.0 / 2.0-4.0

1 个答案:

答案 0 :(得分:0)

您可以使用String#replaceAll通过正则表达式替换字符串,例如:

String regex = "(?<=^|[+/(*)-])(\\d+)(?=[+/(*)-]|$)";

// $1 references to the first captured group ---v
String result1 = "3*8+5/2-4".replaceAll(regex, "$1.0");
//     ^--- "3.0*8.0+5.0/2.0-4.0"

String result2 = "3.0*8+5/2-4.0".replaceAll(regex, "$1.0");
//     ^--- "3.0*8.0+5.0/2.0-4.0"

String result3 = "3.0*(8+5)/(2-4.0)".replaceAll(regex, "$1.0");
//     ^--- "3.0*(8.0+5.0)/(2.0-4.0)"