对比 字符串中包含的数字部分是否相等,数字部分在字符串的开头

网友投稿 218 2022-11-21

对比 字符串中包含的数字部分是否相等,数字部分在字符串的开头

/** * 对比 s1 和 s2数组各个偏移量对应的字符是否相等 * @param s1 * @param s2 * @return */ public static boolean isEqual(String[] s1, String[] s2) { checkArgumentNull(s1, s2); if (s1.length != s2.length) return false; boolean rs = true; for (int i = 0; i < s1.length; i++){ rs = isEqual(s1[i], s2[i]); if (false == rs) break; } return rs; } /** * 对比 s1 和 s2 中字符串中包含的数字部分是否相等,数字部分在字符串的开头 * 精度取两个数字字符串中最大的那个精度 * @param s1 * @param s2 * @return */ public static boolean isEqual(String s1, String s2) { checkArgumentNull(s1, s2); if (-1 != s1.indexOf(",") || -1 != s2.indexOf(",")) return false; boolean rs = true; int max = 0; s1 = s1.trim(); s2 = s2.trim(); String str1, str2; /* 如果数字后面有汉子,则支取数字部分*/ str1 = s1.substring(0, lastDigital(s1)); str2 = s2.substring(0, lastDigital(s2)); int l1 = -1 == str1.indexOf('.') ? 0:str1.indexOf('.') ; int l2 = -1 == str2.indexOf('.')? 0:str2.indexOf('.') ;; l1 = 0 == l1 ? 0 :str1.length() - l1 - 1; l2 = 0 == l2 ? 0: str2.length() - l2 - 1; max = Math.max(l1, l2); String precisionStr = generate("0", max); /* 生成精度 */ NumberFormat formatter = new DecimalFormat("#"+precisionStr); /* 精度 */ str1 = formatter.format(Double.parseDouble(str1)); str2 = formatter.format(Double.parseDouble(str2)); return StringUtils.isEquals(str1, str2); } /** * 获取数字+其他字符 组成的字符串中,最后一个数字在字符串中的偏移量 * example : 3 = lastDigital(123abc) * @param s1 * @return */ public static int lastDigital(String s1) { checkArgumentNull(s1); int i = 0; for (i = 0; i < s1.length(); i++) { char temp = s1.charAt(i); if (0 == Character.compare(temp, HoldingConsts.MATH_POINT) || Character.isDigit(temp)) { continue; }else { break; } } return i; } public static String generate(String element, int count){ if (count < 1) return "0"; String rs ="0."; for (int i = 0;i >= 0 && i < count; i++){ rs += element; } return rs; }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java filter中的chain.doFilter使用详解
下一篇:LVDS技术的应用优势及基于FPGA实现远端显示系统的设计
相关文章

 发表评论

暂时没有评论,来抢沙发吧~