String#to_i
返回0
当字符串不匹配任何数字字符,我明白,包括我自己在内的很多人都认为这是不自然的,宁可期待nil
在这种情况下返回。但是Matz另有设计。什么是最好的方式来区分字符串实际上是"0"
(或"00"
等)与不包含数字字符的字符串?String#to_i不匹配
0
A
回答
4
用途:
Integer('') # => #<ArgumentError: invalid value for Integer: "">
Integer('0') # => 0
+0
太棒了。我不知道。 – sawa
0
像这样的事情i = s.to_i ; i = nil if i == 0 && s != '0'
。如果您经常需要它 - 无论是monkeypatch to_i还是只添加better_to_i。
相关问题
- 1. 为什么“string”.to_i = 0,但是“9”.to_i = 9
- 2. 类型不匹配:'[string:'“]'
- 3. string :: find找不到匹配
- 4. Directory.GetFileSystemInfos(string)返回不匹配的文件
- 5. String未知模式匹配
- 6. 类型不匹配;找到:play.api.data.Form [controllers.Application.Userdata] required:play.api.data.Form [(String,String)]
- 7. 简单通配符匹配的std :: string
- 8. 查询表格,只匹配字段匹配的行“STRING”
- 9. 没有运算符==匹配std :: string吗?
- 10. 部分匹配ObservableCollection <string>对象
- 11. 如何匹配'<a href=' in a string?
- 12. Haskell中的[String]模式匹配
- 13. 如何匹配Java中String的开头?
- 14. Mockito如何匹配String [] []参数?
- 15. 如何匹配“key:// string?list”或value =“key:// string?detail”字符串?
- 16. 从列表返回一个匹配<KeyValuePair <string,string >>
- 17. C++过载:[错误]'operator ='(操作数类型是'String'和'String')不匹配
- 18. 模式匹配不匹配
- 19. Preg匹配不匹配
- 20. 类型不匹配:无法从void转换为ArrayList <String>
- 21. java.lang.String和String之间的类型不匹配错误
- 22. 类型不匹配;发现:一些[String]必需:play.api.templates.Html
- 23. 细胞String数组和字符串不匹配
- 24. Linq查询比较2列表<string>不同的匹配
- 25. 类型不匹配:找到字符串,要求io.gatling.core.validation.Validation [String]
- 26. 在两个列表中发现不同的匹配<string>
- 27. 类型不匹配:无法从Map <String,ConsumerRecords <String,Supplier >>转换为ConsumerRecords <String,供应商>
- 28. `map(&:to_i)`在tryruby.org上不起作用?
- 29. Rails:SuperClass不匹配
- 30. 'operator-'不匹配
你可能想看看这篇文章: http://stackoverflow.com/questions/1235863/test-if-a-string-is-basically-an-integer-in-quotes-using-红宝石 – Mark