字符串比较“ 3” <=“ 4” ;;评估为“ bool = true” 这里3小于4,所以这是有道理的。
此字符串比较为“ 3” <=“ 9” ;;评估为“ bool = true” 3小于9,所以这很有意义。
为什么要进行字符串比较“ 3” <=“ 10” ;;评估为“布尔=假”? 它与字符串的长度或ASCII值有关吗?
谢谢您的时间。
答案 0 :(得分:8)
这是正常的lexicographical order。
"3" > "10"
的原因与"d" > "ba"
相同。
将字符串A的第一个字符与字符串B的第一个字符进行比较。如果它们不同,就可以了。
如果它们相同,则将字符串A的第二个字符与字符串B的第二个字符进行比较。如果它们不同,则操作完成。
如果它们相同,则第三个字符...
这将继续,直到两个字符串同时用完字符(然后相等)或其中一个字符串先用完(该字符串“小于”另一个字符串)为止。