1 | ||||||
Вставка подстроки в строку25.09.2018, 14:15. Показов 835. Ответов 8
Метки нет (Все метки)
Добрый день всем!
Поиск по форуму не принес результата. Есть TextView, куда пользователем с помощью кнопок вводятся цифры (калькулятор). Я хочу, чтобы вводимые данные динамически форматировались при вводе (1234567.89 ---> 1 234 567.89). Изначально вычитал, что в Java есть метод insert (хотел в нужном месте пробел вставлять), однако, как оказалось, в Android он не применим (студия ругается). Подскажите пожалуйста, если ли какая-то альтернатива без необходимости городить огромный код? Добавлено через 12 минут Пробую альтернативный вариант через DecimalFormat, но приложение вылетает при нажатии на кнопку:
0
|
25.09.2018, 14:15 | |
Ответы с готовыми решениями:
8
Разделить строку на подстроки с посредством слешей Вставка в строку s из подстроки s1, начиная с позиции n Вставка подстроки в строку с заданной позиции Вставка подстроки в строку, асм-модуль в C |
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
|
|
25.09.2018, 18:40 | 2 |
0
|
26.09.2018, 10:18 [ТС] | 3 |
Ни в коем случае)) Просто я решил не нагромождать вопрос своим кодом. resStr - это button.getText().toString. Я получаю текст кнопки, обрабатываю эту информацию (напр., чтобы при нажатии на 0 в пустой строке, после него всегда ставился символ ".") и потом вывожу в mResultField. Т.о. все переменные имеют тип String.
0
|
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
|
||||||
26.09.2018, 10:38 | 4 | |||||
он не ест строку, ему надо число.
0
|
26.09.2018, 12:10 [ТС] | 5 | |||||
Т.е. принимает число, а возвращает строку? (formatStr типа String) Попробовал, частично работает. Перестала работать "." и после ввода 5й цифры вылетает. Первые 4 введенные цифры форматирует как надо
0
|
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
|
|
26.09.2018, 17:37 | 6 |
Чтобы понять, почему вылетает, ставишь точки останова в отладчике, смотришь переменные, читаешь ошибки.
Несложно. Мне лень, сорян.
0
|
30 / 21 / 8
Регистрация: 23.09.2018
Сообщений: 186
|
|
29.09.2018, 02:18 | 7 |
1
|
0 / 0 / 0
Регистрация: 01.10.2018
Сообщений: 1
|
|
02.10.2018, 09:43 | 8 |
Сделай проще:
Например у тебя есть строка mainStr куда ты вводишь символы, в этой строке не надо ничего форматировать т.к. если надо удалить, то в этой строке и удалять будешь. При каждом нажатии кнопки калькулятора сделай обработчик который будет форматировать строку mainStr и результат каждый раз при нажатии кнопок помещать в твой textView. А форматировать вывод на экран в textView можно сделать через "String.format" Вот так примерно: String mainStr = null; double number = 1234567.89; mainStr = String.format("decimal: %,.2f",number); System.out.println(mainStr); // decimal: 1 234 567,89
0
|
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|
02.10.2018, 10:59 | 9 |
"проще" - это хранить в виде double, а не строкой
но ТС хочет что-бы все было ну прямо в один метод с парой строк, горе от ума короче
0
|
02.10.2018, 10:59 | |
02.10.2018, 10:59 | |
Помогаю со студенческими работами здесь
9
JavaScript!? Работа со строками, вставка подстроки в строку, prototype!? Вставка подстроки в строку (раздельная компиляция Turbo Pascal и TASM) Реализовать функцию - Insert(s, s1, n). Вставка в строку s подстроки s1, начиная с позиции n Поиск подстроки внутри данной строки, замена найденной подстроки на другую строку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |