public class Test { public static void main(String args[]) { String s = "00001230"; int i = trans(s); System.out.println(i); }
public static int trans(String str){ int a = Integer.parseInt(str); String ss = ""; if(a != 0){ ss = String.valueOf(a); int d = str.length() - ss.length();
for(int i = 0; i < d; i++){ ss = ss.concat("0"); }
return Integer.parseInt(ss); }
return 0; }
}
不用循环,这样写好看点哈 String s = "0000123"; System.out.println(s.length() - String.valueOf(Integer.parseInt(s)).length());
推荐String类方法比如replacAll()
( ̄(工) ̄)
用一个循环再在循环里面加上一个if判断一下字符串前面的0的个数~
是0就继续循环并让count加1~不是就跳出循环~
这样就能知道有多少个0了~
之后再用integer.parseInt()把字符串转换~然后再补上0就好了~
public static void main(String args[])
{
String s = "00001230";
int i = trans(s);
System.out.println(i);
}
public static int trans(String str){
int a = Integer.parseInt(str);
String ss = "";
if(a != 0){
ss = String.valueOf(a);
int d = str.length() - ss.length();
for(int i = 0; i < d; i++){
ss = ss.concat("0");
}
return Integer.parseInt(ss);
}
return 0;
}
}
String s = "0000123";
System.out.println(s.length() - String.valueOf(Integer.parseInt(s)).length());
String reg = "^(0*)(\\d*)$";
String num = "00123456";
System.out.println(num.replaceAll(reg, "$2$1"));num = "00012345";
System.out.println(num.replaceAll(reg, "$2$1"));num = "00000874";
System.out.println(num.replaceAll(reg, "$2$1"));
randomStr是前面产生的8位随机纯数字字符串。StringBuffer sb = new StringBuffer();
for (int i = 0; i < 8; i++)
{
if(randomStr.startsWith("0"))
{
randomStr = randomStr.substring(1);
sb.append('0');
}
else{break;}
}
int randomNumber = Integer.parseInt(sb.toString);
int num = Integer.parseInt(str);
int length = (int) Math.log10(num) + 1;
System.out.println(str.length() - length);
把前面的0以后面的话可以这样str = str.replaceAll("^([0]*)(\\d+)$", "$2$1");
$2 $1分别表示前面匹配的第一个括号和第二个括号即(\\d+)与([0]*)
不过用计数也是可以判断的吧.int count=0;
String s="00001234";
for(int i=0;i<s.length();i++)
{
char ch=s.charAt(i);
if(ch='0')
{
count++;//统计有多少个0
}
else
{
break; //遇到不是0的时候跳出循环
}
}在用Integer.parseInt(s);得到一个int值,再在后面添加count个0就好了
int k=Integer.parseInt(s);
String temp=k+"";
int i=s.length()-temp.length();
int m=(int)Math.pow(10,i)*k;
System.out.println(m);
——我怎么觉得楼主自己都把需要做的事情说得很清楚了,就差写程序了。