我想出了以下表达式,可将5.1234转换为5°7`24.24“
toint($ x)|| '°'|| toint(((($ x)-toint($ x))* 60)||'`'|| substr((tostring(((((($ x))-toint($ x))* 60)-toint(((($ x)-toint($ x))* 60))* 60),1,5)|| “”
问题是:对于5.1234之类的某些点,它可以工作。但是对于其他人却不是。我怀疑问题在于整数转换会舍入小数位数而不是将其截断。
还有其他选择吗?谢谢。
我可以建议一种解决方法。不是最佳选择,但是如果您现在陷入困境,则可以完成工作。右键单击并另存为CSV。在Excel或Google文档中打开CSV,然后输入您的公式(应该更简洁)。删除除唯一标识符和转换后的DMS字符串以外的所有字段。保存。将表与现有图层连接起来就可以了。
—
spacethoughts
负输入时要小心。
—
ub
只是为了补充spacespacethought的答案:向下舍入到最接近的程度将在Excel中使用FLOOR()函数工作。
—
Micha 2012年