java - android解析负数字符串

标签 java string parsing negative-number

如何解析负数字符串?

字符串可以是以下形式:

-123.23  
(123.23)  
123.23-

是否有一个类可以将上述任何字符串转换为数字?

如果不是,最好的方法是什么?

最佳答案

基于 WarrenFaiths 的回答,您可以添加以下内容:

Double newNumber = 0;
if(number.charAt(i).isDigit()){
     //parse numeber here using WarrenFaiths method and place the int or float or double 
     newNumber = Double.valueOf(number);
}else{
    Boolean negative = false;

    if(number.startsWith("-") || number.endsWith("-")){
         number = number.replace("-", "");
         negative = true;
    }
    if(number.startsWith("(") || number.endsWith(")"){
        number = number.replace("(", "");
        number = number.replace(")", "");
    }

    //parse numeber here using WarrenFaiths method and place the float or double 
    newNumber = Double.valueOf(number);

    if(negative){
      newNumber = newNumber * -1;
    }
}

如果替换方法有误,敬请指正。

关于java - android解析负数字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10448712/

相关文章:

java - Android SimpleDateFormat 无法解析的日期

c++ - 理解错误 "terminate called after throwing an instance of ' std::length_error' what(): basic_string::_S_create Aborted (core dumped)"

ruby - 更改多个字符串、大写、小写等的一行代码?

parsing - Ocaml 语法错误 : why are parentheses enclosing (if . ..) 在函数应用程序中有必要吗?

javascript - 将字符串转换为 float javascript

html - 在 hpple 和文本中获取 HTML 标签?

java - Libgdx 线速度不起作用

java - 滑动 Recyclerview 删除滑动项目但再次添加最后一项

java - 如何在RecyclerView中选择单个项目?

ios - 如何将 Swift UIDatePicker 转换为字符串,然后检查另一个日期