10.0)这就是-6ren">
gpt4 book ai didi

java - 仅比较 Java 中数字字符串的初始部分

转载 作者:行者123 更新时间:2023-12-02 09:09:07 25 4
gpt4 key购买 nike

我有 2 个数字串:

String a = "9.8.0.0.10"

String b = "10.0.0.0.11"

我只想比较字符串的初始部分(初始2部分),例如if(9.8 > 10.0)这就是我正在做的事情:

String[] aPart = a.split("\\.",3)

String[] bPart = b.split("\\.",3)

String resultA = new StringBuilder(aPart[0]).append(".").append(aPart[1]).toString();

String resultB = new StringBuilder(bPart[0]).append(".").append(bPart[1]).toString()

然后

if(Double.parseDouble(resultA) > Double.parseDouble(resultB)

有没有更好的方法可以比较 9.8 和 10.0,而不是先进行分割,然后连接,然后解析,这是更糟糕的做法......

谢谢

最佳答案

如果第一个数字不能大于 20,您可以使用简单的正则表达式:

String a = "9.8.0.0.10";
String b = "10.0.0.0.11";
String convertRegexp = "(^[0-9]{1,2}\\.[0-9]+)\\..*";

double aAsDouble = Double.parseDouble(a.replaceAll(convertRegexp, "$1"));
double bAsDouble = Double.parseDouble(b.replaceAll(convertRegexp, "$1"));

if(aAsDouble > bAsDouble)

关于java - 仅比较 Java 中数字字符串的初始部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33648100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com