我想问一些事情,我已经从字符串中获得了数字,并使用replaceAll将其放入字符串中,像这样:
String y = "9.86-A5.321";
String x = y.replaceAll("\D+","");
textview.setText(x);
现在我的问题是我需要让我得到的数字在我的字符串x(9865321)变成这样的东西:
9865321
9000000
800000
60000
5000
300
20
1
我如何使它在Android Studio与Java?
这个没有经过测试,但是这个概念可以是这样的:
for(int i=0; i<digits.length; i++){
StringBuild zeros = new StringBuild(digits[i]);
String digitsTemp = digits.substring(i);
for(int j=1; j<digitsTemp.length; j++)
{
zeros.append("0");
}
}
这个概念是迭代你的数字字符串,创建一个新的字符串,它将是你想要的数字+ 0,并创建一个原始数字的副本,从你想要的数字开始,并向前。
您有原始数字字符串的长度,因此您可以遍历该字符串的每个字符,并在字符串长度和字符在其中所占位置之间的差中添加尽可能多的零:
public class MyClass {
public static void main(String args[]) {
String string = "9865321";
String string2= "";
System.out.println(string);
for (int i = 0; i< string.length(); i++) {
string2 = Character.toString(string.charAt(i));
for (int j = string.length()-1; j > i ; j--) {
string2 = string2+"0";
}
System.out.println(string2);
}
}
}
这是最简单的方法。您应该使用StringBuilder
代替string2
,并且您可能可以以某种方式优化这两个循环,但是上面的代码会产生正确的输出:
9865321
9000000
800000
60000
5000
300
20
1