首页 > 解决方案 > 如何在 Ruby 中舍入坐标字符串的两个单独部分?

问题描述

我有一个字符串 58.1365784, 17.1916815,它是一些经纬度数据。我想要返回的是两个坐标,但四舍五入到小数点后 4 位,就像这样58.1365, 17.1916。如果它只是一个我可以做的数字x.round(4),但这显然会摆脱字符串的另一部分......

标签: ruby-on-railsruby

解决方案


单程:

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 ) 返回两个字符串的数组,然后映射( https://ruby-doc. org/core-2.5.1/Array.html#method-i-map)转换为浮点数和圆形。

如果要返回字符串,只需.join(', ')在末尾添加:

#=> "58.1366, 17.1917"

推荐阅读