如何删除之后的所有字符/数字。在一个字符串
String i = "154.232";
我只想要154
谢谢
我的代码:
distance = crntLocation.distanceTo(newLocation)/1000; // in km
double newKB = Math.floor(distance);
String product_distance = String.valueOf(newKB);
product_distance.replaceAll("\\..*", "");
答案 0 :(得分:5)
public static void main(String[] args) {
String str = "154.232";
str = str.replaceAll("\\..*", "");
System.out.println(str);
}
或
str.substring(0, str.indexOf("."));
或
//检查.
的索引不是-1
,然后执行以下操作。
str.split(".")[0];
<强>输出强>
154
答案 1 :(得分:2)
i=i.split(".")[0];
.split函数将返回点两侧的字符串数组。 你想要在。之前的部分,所以取数组中的第一个字符串。
答案 2 :(得分:2)
使用:
Integer.parse()
或
Integer.decode()
答案 3 :(得分:1)
使用:
int id = str.indexOf(".");
if (id >= 0) str = str.substring(0, id);
在第一个点之后包括所有字符(如果有的话)。
答案 4 :(得分:0)
首先使用Double.parseDouble(String)
将其解析为Double
值,然后使用Math.floor
将其四舍五入,
String yourString = "154.9418";
// cast it to (int), since Math.floor returns a double
int toInt = (int) Math.floor(Double.parseDouble(yourString));
输出
154
或
您可以使用StringTokenizer
拆分字符串
String yourString = "154.964687";
StringTokenizer st = new StringTokenizer(yourString,".");
System.out.println(st.nextToken());
输出
154