Как бы я округлил две отдельные части строки координат в Ruby? - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть строка 58.1365784, 17.1916815, которая представляет собой некоторые последние данные.То, что я хотел бы вернуть, это обе координаты, но округленные до 4 десятичных знаков, как это 58.1365, 17.1916.Если бы это было только одно число, я мог бы сделать x.round(4), но это, очевидно, избавляет от другой части строки ...

1 Ответ

0 голосов
/ 17 ноября 2018

В одну сторону:

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) для преобразования в число с плавающей запятой и округление.

Если вы хотите вернуть строку, просто добавьте .join(', ') вконец:

#=> "58.1366, 17.1917"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...