版本号转换

直接代码 不解释


public long getVersionNum() {
		if(0L==versionNum){
			String[] ss = version.split("\\.");
			long i64Ver = 0;
			int i32s = 0;
			for(int i=0,j=4; i<ss.length; i++,j--){
				i32s = Integer.parseInt(ss[i]);
				if(i32s>=0 && i32s<=9){
					i32s = i32s*100;
				}else if(i32s>=10 && i32s<=99){
					i32s = i32s*10;
				}
				i64Ver += ((long) Math.pow(1000, j))*i32s;
			}
			this.versionNum = i64Ver;
		}
		return versionNum;
	}


用例:

@Test
	public void t7(){
		Version v = new Version();
		v.setVersion("4.10.3.1");
		System.out.println(v.getVersionNum());
		
		v = new Version();
		v.setVersion("1.10.3.1");
		System.out.println(v.getVersionNum());
		
		v = new Version();
		v.setVersion("1.10.3.2");
		System.out.println(v.getVersionNum());
		
		v = new Version();
		v.setVersion("1.10.3.19");
		System.out.println(v.getVersionNum());
	}

测试结果:

400100300100000

100100300100000

100100300200000

100100300190000


你可能感兴趣的:(版本号转换)