我正在构建一个计算器,要使计算器正常工作,我需要将所有的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
答案 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)"