2014-09-17 3 views
-1

У меня есть веб-сервис java, который возвращает список типов строк, как показано ниже.Удаление пробных нулей из String?

12341.0 
4578231.0 
25.0 
4785555.0 
347895666.0 

Теперь, как я могу удалить пробные нули? я хочу список строк как:

12341 
4578231 
25 
4785555 
347895666 

как я могу это сделать?

+0

только нули или удалить десятичную точку укомплектовать ... – Shashank

+0

Разбираем их как числа и восстановление строк из целых чисел, получить массивы символов и обрабатывать их последней к первой до нет никаких конечных нулей и перестроить строки из вашего подмассива, есть много вариантов. – webuster

ответ

1

Попробуйте это, это то, что я использовал с помощью regex.

result = result.indexOf(".") < 0 ? result : result.replaceAll("0*$", "").replaceAll("\\.$", ""); 

или использовать Десятичный формат

String result = "347895666.0"; 
DecimalFormat decimalFormat = new DecimalFormat("###.#"); 
String result = decimalFormat.format(Double.valueOf(s)); 
System.out.println(result); 
1
class Test 
{ 

    public static void main(String[] args) throws ParseException { 
     Number parse = NumberFormat.getNumberInstance().parse("12341.0"); 
     System.out.print(parse); 
    } 

    } 
1

Использование регулярных выражений:

str = str.replaceAll("\\.0+$", ""); 
0

Использовать формат десятичного ...

Double num= Double.parseDouble("1.300"); 
DecimalFormat format = new DecimalFormat("0.#"); 
System.out.println(format.format(num)); 

выход: 1,3

0

Если вы получаете двойной от веб-сервиса вы можете использовать этот

System.out.println((int)Double.parseDouble("12341.0")); 
Смежные вопросы