android 每3个字符之间的间距

ql3eal8s  于 2023-02-20  发布在  Android
关注(0)|答案(2)|浏览(150)

我被困在如何使它,使我可以空格字符,如,1000,100000,10000000。只要有三个以上的字符,我需要它的最后三个数字的空间从其余的。如果有超过6个字符,我需要它的空间两次,在最后三个数字的中间和之前。我需要这是一个edittext的掩码,这样它在输入时就可以格式化它。我正在考虑textwatcher,但我在想是否有一个更好的方法来使用regex。作为奖励,如果有一种方法来前缀'$'(美元符号),这也会有帮助,但不是必要的。
任何帮助都非常感谢:)
编辑:让它工作与此:

StringBuilder ss;
        ss = new StringBuilder(text);

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

        return ss.toString();
jchrr9hc

jchrr9hc1#

您需要使用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());
neekobn8

neekobn82#

考特林:

private fun String.formatter(): String {
    val s = StringBuilder(this.reversed())
    s.forEachIndexed { index, _ ->
        if (index%4==0) s.insert(index," ")
    }
    return s.reversed().toString()
}

现在你可以这么说:

val s = "234567846587678"
s.formatter() // => 234 567 846 587 678

相关问题