我有一个字符串58.1365784, 17.1916815
,它是一些经纬度的数据。我想要返回的是两个坐标,但是四舍五入到小数点后四位,例如58.1365, 17.1916
。如果只是一个数字,我可以做x.round(4)
,但这显然摆脱了字符串的另一部分...
答案 0 :(得分:1)
一种方法:
coords = '58.1365784, 17.1916815'
coords.split(', ').map { |e| e.to_f.round(4) }
它返回一个四舍五入到四舍五入的浮点数数组:
#=> [58.1366, 17.1917]
它可以使用 split (https://ruby-doc.org/core-2.5.1/String.html#method-i-split)返回两个字符串的数组,然后使用 map (https://ruby-doc.org/core-2.5.1/Array.html#method-i-map)转换为float和一轮。
如果要返回字符串,只需在末尾添加.join(', ')
:
#=> "58.1366, 17.1917"