Jer*_*ome 0 ruby ruby-on-rails-3
在控制台中:
1.9.3p547 :010 > my_s = 00013.to_s
=> "11"
1.9.3p547 :011 > my_s = 00013.to_i
=> 11
1.9.3p547 :012 > 13.to_s
=> "13"
1.9.3p547 :013 > 13.to_i
=> 13
Run Code Online (Sandbox Code Playgroud)
为什么这种治疗方法不同?如何在基本数字但用零填充的字符串值之间进行比较?
你写了00013,带有前导零.在Ruby(以及许多其他语言)中,以零开头的整数文字被视为八进制(基数为8),因此您键入的数字(以十进制表示)实际上是8 + 3 = 11.
回答问题的第二部分:如果你有一个类似的字符串'00013',你可以调用#to_i它,Ruby实际上将它转换为13(十进制).所以这应该允许你进行比较.
| 归档时间: |
|
| 查看次数: |
41 次 |
| 最近记录: |