比较JAVA中字符串内的数值
我有以下两个字符串:
String margin1 = "-1100px";
String margin2 = "-1000px";
String margin3 = "-1300px";
有人能帮我根据字符串中的数值比较make条件吗?例如:
if (/*Numerical value of*/ margin1 /*is between*/ margin2 /*and*/ margin3)
break;
提前感谢您的帮助
你可以在下面搜索框中键入要查询的问题!
我有以下两个字符串:
String margin1 = "-1100px";
String margin2 = "-1000px";
String margin3 = "-1300px";
有人能帮我根据字符串中的数值比较make条件吗?例如:
if (/*Numerical value of*/ margin1 /*is between*/ margin2 /*and*/ margin3)
break;
提前感谢您的帮助
# 1 楼答案
我会使用正则表达式来提取模型(-or+)第二个(整数)和最后一个(px) 您可以在java代码上使用这个正则表达式:
[+|-]?[0-9]+px$
你可以在这里测试:https://www.freeformatter.com/java-regex-tester.html#ad-output# 2 楼答案
如前所述,更简单的解决方案可以基于
String::replace/replaceAll
+Integer.parseInt
从包含后缀px
的字符串中获取整数值:另一种方法可能会使用这样一个事实,即^{} 可能不会使用给定字符串的整个文本,也就是说,所有后缀都会被悄悄地丢弃
但是,
NumberFormat
不是线程安全的,应该为每个线程创建一个单独的实例(例如,使用ThreadLocal
):然而,这将使不同单位的利润率“可比”:
因此,应对模式进行定制,使
'px'
后缀成为必需的:然后,按如下方式解析和处理以像素为单位的边距:
输出
# 3 楼答案
可以使用整数。parseInt和String。代替 你可以这样做