我正在构建一个计算器,为了使计算器工作,我需要将字符串中的所有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
发布于 2017-07-15 17:15:51
可以使用String#replaceAll通过regex替换字符串,例如:
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)"https://stackoverflow.com/questions/45120816
复制相似问题