Ruby 如果小数位数已知,如何将字符串(“longint”)转换为浮点?
以字符串形式给出lat/lon组合:Ruby 如果小数位数已知,如何将字符串(“longint”)转换为浮点?,ruby,function,optimization,Ruby,Function,Optimization,以字符串形式给出lat/lon组合: lat = "514525865" lon = "54892584" 我希望将其转换为浮动: lat = 51.4525865 lon = 5.4892584 正如你所看到的,小数的数目是已知的,并且被赋予了7 我试着转换成字符数组,然后添加一个字符。char然后合并char数组,但这感觉非常不合理 def pos_至_floatstringpos 字符=字符串位置字符 字符插入-8'。' 伸出=chars.join 返回到 终止 lat=514525
lat = "514525865"
lon = "54892584"
我希望将其转换为浮动:
lat = 51.4525865
lon = 5.4892584
正如你所看到的,小数的数目是已知的,并且被赋予了7
我试着转换成字符数组,然后添加一个字符。char然后合并char数组,但这感觉非常不合理
def pos_至_floatstringpos
字符=字符串位置字符
字符插入-8'。'
伸出=chars.join
返回到
终止
lat=514525865
floatlat=位置到位置floatlat
放浮子
> 51.4525865
没有错误,因为这是可行的,但感觉很愚蠢。。有更好的函数吗?您可以转换为浮点,然后除以10^7
p lat.to_f / 10 ** 7
#=> 51.4525865
lon.to_f/10**7