2015-01-29 3 views
-6

Как удалить весь символ/число после. в строкеРазделить число по десятичной цифре

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("\\..*", ""); 
+1

использовать 'Math.floor' для округления значения. –

+0

Почему бы не использовать int вместо double? 'newKB = (int) distance;' Включает функцию пола неявно. – LastFreeNickname

+0

@Mr T Если ваш 'String' содержит только числа, вам не нужно использовать такие методы, как' split() ', вы можете проанализировать его на' Double' и использовать 'Math.floor()' для результирующего значения , Взгляните на мой ответ. –

ответ

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 
2
i=i.split(".")[0]; 

.split возвращает массив строк, по обе стороны от точки. Вам нужна часть до., Поэтому возьмите первую строку в массиве.

2

Использование:

Integer.parse() 

или

Integer.decode() 
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 
1

Использование:

int id = str.indexOf("."); 
if (id >= 0) str = str.substring(0, id); 

, чтобы убить всех персонажей после и после первой точки, если таковой имеется.

Смежные вопросы