我想把csv文件中的所有科学符号串转换成十进制符号,例如:

1.0e-05 to 0.00001

我怎么能用鲁比呢?

最佳答案

只需使用字符串转换。必要的浮动强制将自动执行:

"%f" % "1.0e-05"
=> "0.000010"

# Which, behind the scenes is the same as:
"%f" % "1.0e-05".to_f
=> "0.000010"

根据需要进行调整以获得更多或更少的精度。例如:
"%.5f" % "1.0e-05"
=> "0.00001"

如果你想得到真正的幻想,并在最后切掉不必要的零,这里有一个方法。(希望有人能提出更优雅的建议;我想不出任何东西):
("%.20f" % "1.0e-05").sub(/\.?0*$/, "")
=> "0.00001"

10-06 07:33