举个例子:
String viewsNum ="3";
int invoiceNum = Integer.parseInt("0010");
int invoiceNumX;
for(int i=0; i<Integer.parseInt(viewsNum);)
{
invoiceNumX = invoiceNum++;
i++;
System.out.println("mm="+invoiceNumX);
}
比如: 上面的代码 输出:
mm=10
mm=11
mm=12我现在想这样: 假如是0010开始的话, 输出的应该是 0010,0011,0012这样.不能去掉前面的零!
还有,具体前面有多少位零 不确定的!!就是假如是, 00010, 输入就是 00010.是000010,输出就是000010这样.
请大家帮我看下 多谢!
String viewsNum ="3";
int invoiceNum = Integer.parseInt("0010");
int invoiceNumX;
for(int i=0; i<Integer.parseInt(viewsNum);)
{
invoiceNumX = invoiceNum++;
i++;
System.out.println("mm="+invoiceNumX);
}
比如: 上面的代码 输出:
mm=10
mm=11
mm=12我现在想这样: 假如是0010开始的话, 输出的应该是 0010,0011,0012这样.不能去掉前面的零!
还有,具体前面有多少位零 不确定的!!就是假如是, 00010, 输入就是 00010.是000010,输出就是000010这样.
请大家帮我看下 多谢!
可以参考NumberFormat,要预先指定格式
public static void main(String[] args)
{
String viewsNum ="3";
String strNumber="0010";
int invoiceNum = Integer.parseInt(strNumber);
int invoiceNumX;
for(int i=0; i <Integer.parseInt(viewsNum);i++)
{
invoiceNumX = invoiceNum++;
System.out.println("mm="+getFormat(strNumber)+invoiceNumX);
}
}
public static String getFormat(String strNumber)
{
int length=strNumber.length()-String.valueOf(Integer.parseInt(strNumber)).length();
String StrFormat="";
for(int i=0;i<length;i++)
{
StrFormat+="0";
}
return StrFormat;
}结果是:
mm=0010
mm=0011
mm=0012
int invoiceNum = Integer.parseInt("0010");
int len="0010"; //这个是"0010"的长度.
int x=1; //如果len是4,想得到10000;
for(int i=0;i<len.length();i++) x*=10;
int invoiceNumX;
for(int i=0; i <Integer.parseInt(viewsNum);)
{
invoiceNumX = invoiceNum++;
i++;
System.out.println("mm="+(""+x+invoiceNumX).substring(1)); //把最高位的去掉.
}
就是如果最后是9的话,就补充前面的零
请问zhaolinger2 你有什么好办法? 可以指教下嘛?
int invoiceNum = Integer.parseInt("0010");
int len="0010".length(); //这个是"0010"的长度.
int x=1; //如果len是4,想得到10000;
for(int i=0;i<len.length();i++) x*=10;
int invoiceNumX;
for(int i=0; i <Integer.parseInt(viewsNum);)
{
invoiceNumX = invoiceNum++;
i++;
System.out.println("mm="+(""+x+invoiceNumX).substring(1)); //把最高位1的去掉.
}
for(int i=0;i <len.length();i++)
这个好象不行吧?
另外 你程序代码运行了嘛? 跟我要求的!! 一样嘛?
指教中....
你明白我的需求嘛?
你可以帮我再看看嘛?
感谢不尽!
具体的代码可以写给我嘛?
closewbq 这位大侠的代码 已经实现一半了
现在就是
如果是0099 这种情况 要判断本来是 0099,00100,00101
我现在要求是: 0099,0100,0101 这样
求大家了!!!
invoiceNumX = "000" + invoiceNum ;
} else if(invoiceNum < 100) {
invoiceNumX = "00" + invoiceNum ;
} else if(invoiceNum < 1000) {
invoiceNumX = "0" + invoiceNum ;
}
int invoiceNum = Integer.parseInt("0010");
int len="0010".length(); //这个是"0010"的长度.
int x=1; //如果len是4,想得到10000;
for(int i=0;i <len;i++) x*=10;
int invoiceNumX;
for(int i=0; i <Integer.parseInt(viewsNum);)
{
invoiceNumX = invoiceNum++;
i++;
System.out.println("mm="+(""+x+invoiceNumX).substring(1)); //把最高位1的去掉.
}你按这个改一下你的程序.
这个代码 根本实现不了?
bigbug9002 麻烦你 可以给出一个详细的,全的代码嘛?
我感谢不尽
好人做到底吧
你这个我试了 输出来试: mm=000010
mm=000011
mm=000012前面怎么多了2个零? 另外,如果我输入的是0099,你能输出来是 0099,0100,0101嘛??
public static void main(String[] args){
String viewsNum ="3";
int invoiceNum = Integer.parseInt("0099");
int len="0010".length();
int x=1;
for(int i=0;i <len;i++) x*=10;
int invoiceNumX;
for(int i=0; i <Integer.parseInt(viewsNum);i++){
invoiceNumX = invoiceNum+i;
System.out.println("mm="+(""+(x+invoiceNumX)).substring(1));
}
}
}
结果如下:
D:\javafile>java Test4
mm=0099
mm=0100
mm=0101D:\javafile>
public static void main(String[] args){
String viewsNum ="3";
int invoiceNum = Integer.parseInt("000999");
int len="000999".length();
int x=1;
for(int i=0;i <len;i++) x*=10;
int invoiceNumX;
for(int i=0; i <Integer.parseInt(viewsNum);i++){
invoiceNumX = invoiceNum+i;
System.out.println("mm="+(""+(x+invoiceNumX)).substring(1));
}
}
}结果如下:
D:\javafile>javac Test4.javaD:\javafile>java Test4
mm=000999
mm=001000
mm=001001D:\javafile>
这句话 怎么解释?
什么意思? 是固定的嘛?必须这样嘛?
这个 怎么输出是
mm=0066
mm=0067
mm=0068我要求是:
mm=00066
mm=00067
mm=00068 这样
反正 Integer.parseInt("00066"); 这里面的数最多是8位! 前面最多7个零 这样!
非常的感谢你
呵呵 积分!!!
bigbug9002 ,真的太谢谢你了!!
public class Example02 { /**
* @param args
*/
public static void main(String[] args)
{
String viewsNum ="2000";
String strNumber="00990010";
int invoiceNum = Integer.parseInt(strNumber);
int invoiceNumX;
for(int i=0; i <Integer.parseInt(viewsNum);i++)
{
invoiceNumX = invoiceNum++;
String str1=getFormat(strNumber);
String str2=String.valueOf(invoiceNumX);
if(!((str1.length()+str2.length())%4==0)){
switch((str1.length()+str2.length())%4){
case 1:str1=str1.substring(1);break;
case 2:str1=str1.substring(2);break;
case 3:str1=str1.substring(3);break;
}
}
System.out.println("mm="+str1+invoiceNumX);
}
}
public static String getFormat(String strNumber)
{
int length=strNumber.length()-String.valueOf(Integer.parseInt(strNumber)).length();
String StrFormat="";
for(int i=0;i<length;i++)
{
StrFormat+="0";
}
return StrFormat;
}
}