假设我有一个库版本的列表:List myList = ["4.9"]
我需要检查列表的第一个元素是否等于或大于“4. 11”。
我是这样做的:
# compateTo() returns 0 if the caller string equals to the argument string
# compateTo() returns > 0 if the caller string is greater than the argument string
if (myList[0].compareTo("4.11") >= 0) {
println("equal or greater than 4.11")
} else {
println("less than 4.11")
}
然而,让我们考虑这样一个案例:List myList = ["4.9"]
个
逐字符比较两个字符串,得到9
,而1
,由于9大于1,因此返回equal or greater than 4.11
,这是不正确的。
最好的解决方法是什么?我考虑了一下:
def strToDecimal = Double.parseDouble(myList[0])
得到一个十进制数,比较两个十进制数4.9和4.11,但问题是一样的。
我不能使用任何需要import语句的语句。
1条答案
按热度按时间uemypmqf1#
如果您使用的是Java〉= 9,我会使用Version类:
如果你的Java版本〈= 9,那么你可以 checkout 这个question。有一些关于如何解决你的问题的想法。