试图在Erlang(现在的shell)中争论一些特殊字符,特别是纬度/经度中使用的度,分和秒。
我已经阅读了关于unicode模块的所有内容并尝试了x_to_y函数,似乎无法得到I°J'K“ N X°Y'Z” W 在shell中正确显示。需要注意的一件事是我从HTTP请求中提取这些值,将它们存储在Mnesia数据库中,并希望在响应中将它们发回。
我真的不在乎我是否让他们在shell 中看起来很漂亮,只要我以后能够在不同的环境中(例如网页)理解它们。
问题归结为:我如何知道Erlang正在接收正确的字符,有没有办法可以确认整数列表将在以后重构为正确的形式?
虽然我确实需要实现上述目标,但一般的建议是将坐标转换为小数并以这种方式存储它们吗?
答案 0 :(得分:2)
存储此类值的有效方法是使用元组{D,M,S},如果必须重用该值,则会避免意外的舍入问题。如果您只需要使用信息进行计算,则十进制值是值得的。
可以使用漂亮的打印格式"~p"
检查您是否获得了正确的值,以直接打印元组。请注意,如果可能,最好使用模式匹配进行测试,而不是依赖shell输出。 shell非常适合快速评估,但它引入了一些与模块中的执行相比的差异(默认使用漂亮的打印,没有真正的变量赋值,特别是在节点之间交换时对匿名函数的不同处理......)