Ruby:在科学记数法中控制打印

Ruby:在科学记数法中控制打印,ruby,Ruby,如果我在Ruby中有一个非常长的浮点数,例如: x = 123456789012345.to_f 当它显示时,例如,通过至_s,它以科学符号显示: "1.23456789012345e+14" 有没有办法抑制科学记数法中的格式设置,或者在硬币的另一面,强制使用极短的浮点数?您可以使用。例如: x = 123456789012345.to_f "%f" % x # => "123456789012345.000000" y = 1.23 "%E" % y # => "1.2

如果我在Ruby中有一个非常长的浮点数,例如:

 x = 123456789012345.to_f
当它显示时,例如,通过
至_s
,它以科学符号显示:

 "1.23456789012345e+14"

有没有办法抑制科学记数法中的格式设置,或者在硬币的另一面,强制使用极短的浮点数?

您可以使用。例如:

x = 123456789012345.to_f
"%f" % x  # => "123456789012345.000000"

y = 1.23
"%E" % y # => "1.230000E+000"

各种选项与函数的选项相同。

为了方便起见,您还可以控制小数点后的位数。我们也要这样做:

x = 1.234598
"%.3E" % x=> "1.235E+00"
另一个你可以做的整洁的事情是从左边用空格填充,如下所示:

x = 1.234 
"%10.3E" % x => " 1.234E+00" 

是否有任何方法可以禁用整个ruby项目的科学符号格式?