2017-02-12 19 views
0

У меня есть приложение, которое потребляет API. У меня нет абсолютно никакого контроля над этим API, поэтому я не могу его модифицировать, просто уничтожаю. Этот API возвращает в json формате название города, широту и долготу. Проблемы заключается в том, что из-за ошибками программирования, возвращенной API широты и долготы с неправильным форматом:Как форматировать строку с помощью Javascript?

[{"Name":"River Side","Latitude":-2524544568.0,"Longitude":-5758220052.0}] 

Obviouly, мне нужна широта и долгота с следующим форматом:

-25.245445680 and -57.582200520 

Я нашел функцию Javascript как toFixed(), но вокруг числа.

Кто-нибудь знает, как я могу правильно форматировать строку, используя Javascript?

+0

Почему этот api не отлаживается на первом месте? Так что lat/long верны? Вы сделали запрос разработчикам? – Blauharley

+0

Как уже упоминалось, мы не контролируем API, который был создан другой группой из университета. Он является частью групповой/индивидуальной работы и заключается в поиске решений проблем, которые мы не можем исправить из корня. –

+0

@GuillermoAcosta Вы нашли приемлемое решение своей проблемы? –

ответ

0

Похоже, что долгота и широта посылаются как цифры, правильно? Можно ли просто сделать что-то вроде var lat = data.Latitude/100000000?

+0

Да, Даргу. Они всегда отправляются как числа, это должен быть тип float, но он отправляется как число с 1 десятичной точкой. Мы думали о разделении, но не все «lat» и «lon» имеют одинаковое количество десятичных цифр. Мы хотим найти функцию, которая принимает «целочисленную» часть числа, и к этому числу (включая его знак) добавьте три цифры слева. И мы еще не нашли форму. –

0

Предположив, что в каждом конкретном случае и для обоих широчайшей и долготы:

  1. Знак правильно.
  2. Цифры верны.
  3. Десятичная точка может быть не в том месте.
  4. абс (лат) < = 90
  5. абс (долгота) < = 180

Глядя на примере лат (-2524544568,0): -252,4 является недействительным. -25.2 правдоподобно. -2.52 правдоподобно, если вы не ограничиваете баллы своей страной. Точно -0.252. Аналогично долготе.

Вы также можете использовать поле «Имя», если у вас есть достаточно точный источник для отображения от имени до (широта, долгота).

 Смежные вопросы

  • Нет связанных вопросов^_^