字符串到字符串小于比较

时间:2015-07-31 22:10:43

标签: ruby

如果我'5' <= '12',我会得到false。为什么呢?

2 个答案:

答案 0 :(得分:4)

String#<=>比较字符串的前几个字符,然后比较字符串的下一个字符,依此类推,类似于在对字符串进行字母顺序排列时比较字符串的方式。 '5' <= '12'为false,因为'5' <= '1'为false。

答案 1 :(得分:3)

  

如果我这样做&#39; 5&#39; &lt; =&#39; 12&#39;结果我弄错了。为什么呢?

因为字符串'5' 小于字符串'12'。其他一切都没有意义。它与'e' <= 'ab' # => false完全相同(请注意,我故意选择字母表中的第五个,第一个和第二个字母来显示两个示例如何完全匹配。)

'5' <= '12' # => false
'e' <= 'ab' # => false
#5      12
 5  <=  12  # => true
#of course, the *number* 5 is less than the number 12