字符串比较大小问题
字符串1.0.1.8这种类型怎么比较大小eg: 1.0.1.8期望小于1.0.1.10
将字符串通过split进行数组化,然后按照数组的长度和索引分别进行比较,就行了
比如1.0.1.8转化的数组为a
a的长度为4
a=1
a=0
a=1
a=8
1.0.1.10转化为数组b
b长度也为4
b=1
b=0
b=1
b=10
然后找到两个数组中最小长度的那个数组,按这个数组的长度进行索引
int iShortLength = a.length<=b.length?a.length:b.length;
for (int i = 0; i < iShortLength; i++) {
if (a > b) {
system.out.println("第一个数大");
break;
} else if (a < b) {
system.out.println("第二个数大");
break;
}
if (i == iShortLength - 1) {
system.out.println("两个数一样大");
}
}
for 直接去掉小数点,然后转成int做对比不可以吗 这是 IP 地址吗?IP 地址可以转换成无符号整数,然后就可以比较大小了。 替换掉字符串中的所有点
转为int类型
比较大小
public static void main(String[] args) {
String s1 = "1.0.1.8";
String s2 = "1.0.1.10";
s1 = s1.replaceAll("\\.", "");
s2 = s2.replaceAll("\\.", "");
int n1 =Integer.parseUnsignedInt(s1);
int n2 =Integer.parseUnsignedInt(s2);
boolean result = n2>n1;
System.out.println(result);
}
页:
[1]