Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如果小数位数已知,如何将字符串(“longint”)转换为浮点?_Ruby_Function_Optimization - Fatal编程技术网

Ruby 如果小数位数已知,如何将字符串(“longint”)转换为浮点?

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/lon组合:

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