java - Stringhandling,切掉一部分字符串

标签 java string

我有一个字符串,其值类似于 -7.000、10.000、0.000、-212.000

现在我想去掉字符串中的 .000 以及前面的 - 如果有的话。我的值(value)观必须始终是积极的。

因此,从这个示例中,我必须返回 7、10、0、212。我该怎么做?

我可以做 StringHandling.LEFT(myvalue,1).equals("-")?StringHandling.LEFT(myvalue,2):StringHandling.LEFT(myvalue,1) 但是当我的值是10.000 它只会给我 1

最佳答案

为什么不将字符串解析为数字,然后应用“绝对”运算符?

String foo = "-50.000";
double bar = Double.parseDouble(foo);
int result = (int) abs(bar);
String yourResult = String.valueOf(result);

在 OP 评论后编辑:

要转义负数,您可以在这段代码之前加一点:

   foo.replaceAll("-", "");

如果你只是想让'378.890'变成'378'还有更简单的:

   String foo = "378.890";
   String[] bar = foo.split(".");
   String result = bar[0]; 

如果你需要'0378.890'变成'378':

   String foo = "378.890";
   String[] bar= foo.split(".");
   String foobar = bar[0]; 
   int result = Integer.parseInt(foobar);
   result = abs(result); // If necessary (depends if you want to handle it at the string level or not)
   String finalResult = String.valueOf(result);

关于java - Stringhandling,切掉一部分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25564252/

相关文章:

java - 在 eclipse 中为 viewPagerIndicator 添加库时,android 中的 Jar 不匹配错误

java - ThreadLocal<AtomicInteger> 可能有用吗?

java - 保存 oracle 数据库的状态以恢复到什么状态?

c++ - 从txt文件中读取文本并将其放入静态文本字段,mfc

string - 如何在MS Access中使InStr区分大小写

java - 使用 hashmap 将所有子字符串作为键并将它们的出现作为值

java - 在 CSV 映射期间将 't'/'f' 解析为 boolean 值

java - 通过单个连接进行 JDBC 选择查询的效率是否低于包含这些查询的过程?

javascript - 使用内联 javascript 渲染 javascript 文件

python - 在 python 2.7 中删除之前和包括 _ 的字符