以经/纬组合为字符串:
lat = "514525865"
lon = "54892584"
我希望将它们转换为浮点数:
lat = 51.4525865
lon = 5.4892584
如您所见,小数位数为KNOWN,为7。
我尝试过转换为char-array,然后添加了。 char然后合并char数组,但感觉超级不合理
def pos_to_float(stringpos)
chars = stringpos.chars
chars.insert(-8,'.')
outstring = chars.join('')
return outstring.to_f
end
lat = "514525865"
floatlat = pos_to_float(lat)
puts floatlat
> 51.4525865
没有错误,因为它可以工作,但是感觉很愚蠢。还有更好的功能吗?
答案 0 :(得分:4)
您可以转换为浮点数,然后除以10 ^ 7
p lat.to_f / 10 ** 7
#=> 51.4525865