Ruby浮动为String错误

| Ruby新手。此代码有什么问题?
city_details[\'longitude\'] + \",\" + city_details[\'latitude\']
我收到此错误:
./player_location.rb:6:in `+\': String can\'t be coerced into Float (TypeError)
    
已邀请:
        看起来
city_details[\'longitude\']
city_details[\'latitude\']
Float
值。 您不能像这样在Ruby中将
Float
添加到
String
中。您可以将所有内容转换为
String
,然后转换为
+
,或使用字符串插值。
city_details[\'longitude\'].to_s + \",\" + city_details[\'latitude\'].to_s

\"#{city_details[\'longitude\']},#{city_details[\'latitude\']}\"
大多数Ruby主义者倾向于使用字符串插值。     
        它抱怨您试图将ѭ10与ѭ11连接起来。 更好的方法是通过字符串内插:
\"#{city_details[\'longitude\']}, #{city_details[\'latitude\']}\"
其他可能的解决方案: 您可以通过调用
to_s
方法将每个float转换为字符串:
city_details[\'longitude\'].to_s + \",\" + city_details[\'latitude\'].to_s
或者,您可以使用
join
方法:
[city_details[\'longitude\'], city_details[\'latitude\']].join(\",\")
    

要回复问题请先登录注册