2016-12-25 3 views
0

緯度/経度で使用されるErlang(現在はシェル)の特殊文字、特に度、分、秒を扱うことを試みています。緯度と経度Erlang/Mnesiaの特殊文字

は、私はすべてのUnicodeモジュールについて読むとx_to_y機能で実験し、カントは、シェルで適切に表示されるように W私はJ'Kを° "N X°Y'Z「を得るように見えるしました。私は、HTTPリクエストからこれらの値を抽出し、それらをMnesiaデータベースに格納し、レスポンスでそれらを返送したいと考えています。

シェルのがシェルでのように見えるようにしても、後で別のコンテキスト(Webページなど)で理解できる限り、私は本当に気にしません。

質問がに沸く:どのように私は、Erlangのは、正しい文字を受信して​​いることを知っている、と私は整数のリストが後に適切な形式に再構築することを確認することができます方法はありますか?

私は上記を達成するために必要ですが、一般的な推奨事項は、小数に座標を変換し、それらをそのように保存することですでしょうか?

答えて

2

ような値を格納するための効率的な方法は、それが予想外の丸めの問題を回避するであろう値を再利用しなければならない場合、タプル{D、M、S}を使用することです。あなたがその情報を使って計算をしなければならない場合、小数点値は価値があります。

あなたが直接タプルを印刷するにはかなりの印刷形式"~p"を使用して正しい値を得たことを確認することができます。可能であれば、シェル出力に依存するよりも、パターンマッチングをテストに使用する方がよいことに注意してください。シェルは速い評価には本当に良いですが、モジュールでの実行と比較していくつかの違いがあります(デフォルトではきれいな印刷、実際の変数割り当て、ノード間で交換されたときの匿名関数の処理...)