2016-12-25 13 views
0

Попытка прервать некоторые специальные символы в Эрланге (оболочка на данный момент), особенно градусы, минуты и секунды, используемые в широте/долготе.Специальные символы широты и долготы в Эрланге/Мнезии

Я прочитал все о модуле юникода и экспериментировал с функциями x_to_y и не могу показаться, чтобы получить I ° J'K "N X ° Y'z" W появляться соответственно в оболочке. Следует отметить, что я извлекаю эти значения из HTTP-запроса, сохраняю их в базе данных Mnesia и хочу отправить их обратно в ответ.

Мне все равно, если я заставлю их выглядеть довольно в оболочке, до тех пор, пока я могу понять их позже, в разных контекстах (например, на веб-странице).

Вопрос сводится к следующему: откуда я узнаю, что Эрланг получает правильные символы, и есть ли способ подтвердить, что список целых чисел позже будет восстановлен в правильную форму?

Хотя мне нужно достичь вышеуказанного, будет ли общая рекомендация состоять в том, чтобы преобразовать координаты в десятичные знаки и сохранить их таким образом?

ответ

2

Эффективный способ хранения таких значений - использовать кортеж {D, M, S}, если вам нужно повторно использовать значение, чтобы избежать неожиданных проблем округления. Десятичное значение стоит, если вам нужно делать вычисления только с информацией.

Можно проверить, что вы получили правильное значение, используя довольно печатный формат "~p" для прямой печати кортежа. Обратите внимание, что, когда это возможно, лучше использовать сопоставление образцов для теста, чем полагаться на вывод оболочки. Оболочка действительно хороша для быстрой оценки, но она вводит некоторые различия по сравнению с исполнением в модулях (использование портирования по умолчанию, отсутствие действительного назначения переменных, различная обработка анонимных функций, особенно при обмене между узлами ...)

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

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