Интервал между каждыми 3 символами - PullRequest
0 голосов
/ 27 октября 2019

Я застрял на том, как сделать так, чтобы я мог пробелить символы, такие как, 1 000, 10 000, 100 000, 10 000 000. Пока есть более трех символов, мне нужно, чтобы это пробелпоследние три цифры от остальных. Если есть более 6 символов, мне нужно, чтобы он был пробел два раза, в середине трех последних цифр и до. Мне нужно, чтобы это была маска для текста редактирования, чтобы он форматировал его при вводе. Я думал о textwatcher, но думал, есть ли лучший способ сделать это с помощью регулярных выражений. В качестве бонуса, если бы был способ префикса «$» (знак доллара), это было бы полезно, но не обязательно.

Любая помощь очень ценится :)

РЕДАКТИРОВАТЬ:Получил работу с этим:

StringBuilder ss;
        ss = new StringBuilder(text);

        for(int i = ss.length(); i > 0; i -= 3){
            ss.insert(i, " ");
        }

        return ss.toString();

1 Ответ

0 голосов
/ 27 октября 2019

Вам нужно будет использовать TextWatcher для достижения своей цели. Вот простой способ получить пробелы:

StringBuilder s;
s = new StringBuilder(yourTxtView.getText().toString());

for(int i = 3; i < s.length(); i += 4){
    s.insert(i, " ");
}

yourTxtView.setText(s.toString());
...