解析包含右侧减号的数字字符串

时间:2013-10-21 23:19:06

标签: java string parsing

我有一个问题 - 是否有可能在文本中识别负数,右边有减号? 例如。我正在考虑这样的数字: 1500.0 - (而不是-1500.0)。 提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

不仅可以,它实际上更容易处理尾随标志。您只需像往常一样转换数字,继续获取数字,然后如果以减号结束则只是否定它。比记住一个主要标志更容易。

尽管JDK中提供了方法的名称,但这不是“解析”,而是基数转换。

答案 1 :(得分:0)

您可以使用charAtregular Expression等等......

String s = "1500.00-";
if (s.charAt(s.length()-2) == '-'){
  //minus on the right.
}

答案 2 :(得分:0)

首先将减号(如果有的话)从结尾移动到开头:

num = num.replaceAll("(.*)(-)?$", "$2$1");

这里的好处是,如果最后没有减号,或者yjr在开始时减去我们,那么它没有任何改变。

然后正常解析,例如:

double d = Double.parseDouble(num);