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