java - 字符串中只保留一位小数

标签 java string

我只想从字符串中保存数字和一位小数,但没有发现任何只能存储一位小数的情况。我看到的代码与此类似

String str="12.2.3.4";
String a=str.replaceAll("[^\\d.]", "");
System.out.println(a);

我该怎么做才能只保留一位小数并删除其他小数。我想以这种形式获得输出

12.234

最佳答案

这是使用StringBuilder的另一种方法:

StringBuilder sb = new StringBuilder("12.2.3.4");

int firstPosition = sb.indexOf(".");

for ( int lastPosition = sb.lastIndexOf(".");
      lastPosition > firstPosition;
      lastPosition = sb.lastIndexOf(".", lastPosition ) ) {
    sb.deleteCharAt(lastPosition);
}

String result = sb.toString();

这基本上会从右侧开始向左查找所有出现的 .,只要它们不是第一个 .,然后将其删除。

如果只有一位小数或根本没有,则循环条件从一开始就是 false,因此不会进行任何更改。

关于java - 字符串中只保留一位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830186/

相关文章:

java - Spring消息源,bean XML中的getMessage?

java - 是否有提供更多功能的 JToolBar 替代品?

java - 创建一个 Shell 脚本来执行一个 Jar(它执行一个 sudo 命令)

java - 正则表达式:删除除包含关键字 "univ"之外的所有标签

python - 如何计算数据框中所有等于条件的选定单词?

java - 使用Regex java删除字符串中的换行符

java - Java 中的通用链表克隆

Javascript/jQuery 搜索字符串中的字母

vb.net - 从字符串中检索重复出现的字符

string - 空格/制表符/换行符不敏感比较