如果我在Ruby中有一个非常长的浮点数,比如:
x = 123456789012345.to_f
当它通过to_s
显示时,它会以科学记数法显示:
"1.23456789012345e+14"
有没有办法抑制科学记数法中的格式,或者在硬币的另一面,强制它使用极短的浮点数?
发布于 2009-07-27 18:09:42
您可以使用%
operator执行各种操作。例如:
x = 123456789012345.to_f
"%f" % x # => "123456789012345.000000"
y = 1.23
"%E" % y # => "1.230000E+000"
各种选项与sprintf函数的选项相同。
发布于 2011-10-28 06:55:10
为了方便起见,您还可以控制小数点后的位数。也是如此:
x = 1.234598
"%.3E" % x=> "1.235E+00"
你可以做的另一件很棒的事情是填充从左边开始的空格,如下所示:
x = 1.234
"%10.3E" % x => " 1.234E+00"
https://stackoverflow.com/questions/1189618
复制相似问题