Регулярка для числа с пробелами

Ответить
парень
Сообщения: 223
Зарегистрирован: 30 мар 2013, 22:52

Регулярка для числа с пробелами

Сообщение парень » 16 янв 2014, 03:30

Привет всем!

Задача:
Есть число типа float x.xx - xxxxxxxx.xx.

Нужно получить строку типа "x.xx" - "xx xxx xxx.xx"

Примеры :
float 123.4567
строка "123.45"

float 12345.678
строка 12 345.67

float 123456789.1
строка 123 456 789.10

Не хочется изобретать велосипед с вычислением длины строки и подставлением в строку пробелов. Наверняка как то можно использовать какой-то ?

метод типа String.format(".2f", float 12345.6789)
возвращает 12345.67
а вот чтоб пробелы добавлял.

Поиск юзал - не кидайтесь каками :)

Спасибо
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Регулярка для числа с пробелами

Сообщение Mikhail_dev » 16 янв 2014, 14:52

ИМХО, тут либо регуляркой, либо велосипед.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Регулярка для числа с пробелами

Сообщение Foenix » 16 янв 2014, 15:18

покопай в сторону такого кода

Код: Выделить всё

DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
symbols.setGroupingSeparator(' ');

DecimalFormat formatter = new DecimalFormat("###,###.##", symbols);
System.out.println(formatter.format(bd.longValue()));
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

парень
Сообщения: 223
Зарегистрирован: 30 мар 2013, 22:52

Re: Регулярка для числа с пробелами

Сообщение парень » 16 янв 2014, 16:24

написал метод такой:

[syntax=java]public String formatSumma(float mSumma) {
String str = String.format("%.2f", mSumma);
String strAll = str.substring(0, str.length() - 3);
int l = strAll.length() % 3;
String strFirst = str.substring(0, l);
String strLast = str.substring(str.length() - 3, str.length());
String strT = str.substring(l, strAll.length());
String strT2 = "";
for (int i = 0; i < strT.length() / 3; i++) {
strT2 += " " + strT.substring(i * 3, i * 3 + 3);
}
return strFirst + strT2 + strLast;
}[/syntax]

работает исправно. но... это разве гуд?

UPD: Foenix спасибо, ты как всегда впереди планеты всей :) (только задумался о том что ты давно мне не отвечала :):):) ) сейчас покопаю
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.

парень
Сообщения: 223
Зарегистрирован: 30 мар 2013, 22:52

Re: Регулярка для числа с пробелами

Сообщение парень » 16 янв 2014, 16:33

API 9... у мну 8+ (уже серьезно задумываюсь о разработке только на 3+)

оставлю свой велосипед или подскажите более правильный вариант.
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Регулярка для числа с пробелами

Сообщение Foenix » 16 янв 2014, 16:53

спасибо) я бы рада отвечать, просто сейчас времени все меньше
я не использовала этот код, сама писала функцию подобную твоей. Гуд или не гуд - кто его знает, смотря для чего. Если просто в рабочий проект - почему нет.. если на выставку - может быть можно как-то по-другому справиться. Можно как-то оптимизировать код, поменьше String использовать.. Кстати, на последнем вебинаре Миши были штуки, которыми можно посмотреть где код кушает много ресурсов..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

парень
Сообщения: 223
Зарегистрирован: 30 мар 2013, 22:52

Re: Регулярка для числа с пробелами

Сообщение парень » 18 янв 2014, 03:02

блин. у меня только мобильный интернет 56кбит/сек, и только один не федеральный оператор... вебинары с радостью бы... но только текстовые варианты :)
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.

Ответить