Обрезать регуляркой координаты до 5 знака

  • Автор темы Автор темы bizzon
  • Дата начала Дата начала

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 120
Реакции
135
Баллы
63
Можно ли в таком тексте обрезать регуляркой координаты до 5 знака после запятой?

{"lng":41.962715009968754,"lat":45.02827756436143},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2428158986","type":"rash","itemsCount":1,"coords":{"lng":41.93570348767511,"lat":45.07427461615454},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2215720100","type":"rash","itemsCount":1,"coords":{"lng":41.917519526131045,"lat":45.01098741697778},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"1560355685","type":"rash","itemsCount":1,"coords":{"lng":41.92003309197829,"lat":45.014606791369616},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2418445352","type":"rash","itemsCount":1,"coords":{"lng":41.90236708428101,"lat":45.01117190938781},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2235239465","type":"rash","itemsCount":1,"coords":{"lng":41.91299717025408,"lat":44.99945205768841},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2235719475","type":"rash","itemsCount":1,"coords":{"lng":41.91230962089992,"lat":45.00427063274546},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2411067191","type":"rash","itemsCount":1,"coords":{"lng":41.92033103003175,"lat":45.007156048201736},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2415931682","type":"rash","itemsCount":1,"coords":{"lng":41.91513430282991,"lat":45.01806172687426},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2335022792","type":"rash","itemsCount":1,"coords":
 
Текст большой, несколько тысяч, координаты брал в таблицу, округлял.
В ПМ получилось несколько минут.
 
Можно ли в таком тексте обрезать регуляркой координаты до 5 знака после запятой?
Делал пример шаблона.
Пока делал вы уже отписались, что есть шаблон, ну да ладно.
Попробуйте включить Отложенную отрисовку в ПМ, задержка на анимации выполнения.
В ЗП будет быстрее тоже.

91547
 
Текст большой, несколько тысяч, координаты брал в таблицу, округлял.
В ПМ получилось несколько минут.
Выглядит что это json.
Если это так - то предоставьте сюда в текстовом файле исходник, попробую помочь.
 
Последнее редактирование:
  • Оценить
Реакции: ZX
Если предположить, что json такой, как я указал ниже, то обработка будет выглядеть, как код ниже:
JSON:
Развернуть Свернуть Копировать
[{"id":"2428158986","type":"rash","itemsCount":1,"coords":{"lng":41.93570348767511,"lat":45.07427461615454},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2215720100","type":"rash","itemsCount":1,"coords":{"lng":41.917519526131045,"lat":45.01098741697778},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"1560355685","type":"rash","itemsCount":1,"coords":{"lng":41.92003309197829,"lat":45.014606791369616},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2418445352","type":"rash","itemsCount":1,"coords":{"lng":41.90236708428101,"lat":45.01117190938781},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2235239465","type":"rash","itemsCount":1,"coords":{"lng":41.91299717025408,"lat":44.99945205768841},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2235719475","type":"rash","itemsCount":1,"coords":{"lng":41.91230962089992,"lat":45.00427063274546},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2411067191","type":"rash","itemsCount":1,"coords":{"lng":41.92033103003175,"lat":45.007156048201736},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false}]
Собственно, округляет как надо, возвращает такой же json, как был на вход.
C#:
Развернуть Свернуть Копировать
string json = project.Variables["json"].Value;
List<dynamic> data = Global.ZennoLab.Json.JsonConvert.DeserializeObject<List<dynamic>>(json);
foreach(dynamic ob in data) {
    ob.coords.lng = Math.Round((double)ob.coords.lng,5);
    ob.coords.lat = Math.Round((double)ob.coords.lat,5);
}
return Global.ZennoLab.Json.JsonConvert.SerializeObject(data);

JSON:
Развернуть Свернуть Копировать
[{"id":"2428158986","type":"rash","itemsCount":1,"coords":{"lng":41.9357,"lat":45.07427},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2215720100","type":"rash","itemsCount":1,"coords":{"lng":41.91752,"lat":45.01099},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"1560355685","type":"rash","itemsCount":1,"coords":{"lng":41.92003,"lat":45.01461},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2418445352","type":"rash","itemsCount":1,"coords":{"lng":41.90237,"lat":45.01117},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2235239465","type":"rash","itemsCount":1,"coords":{"lng":41.913,"lat":44.99945},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2235719475","type":"rash","itemsCount":1,"coords":{"lng":41.91231,"lat":45.00427},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false},{"id":"2411067191","type":"rash","itemsCount":1,"coords":{"lng":41.92033,"lat":45.00716},"radius":5,"isFavorite":false,"favoritesIds":"","highlight":"regular","form":"regular","isVas":false}]
 
  • Оценить
Реакции: bizzon и Sergodjan

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)