Ответ 1
Вы можете делать всевозможные действия с помощью оператора %
. Например:
x = 123456789012345.to_f
"%f" % x # => "123456789012345.000000"
y = 1.23
"%E" % y # => "1.230000E+000"
Различные параметры те же, что и для функции sprintf.
Если у меня есть чрезвычайно длинное число с плавающей запятой в Ruby, например:
x = 123456789012345.to_f
когда он отображается, скажем, через to_s
, он появляется в научной нотации:
"1.23456789012345e+14"
Есть ли способ подавить форматирование в научной нотации или на другой стороне монеты, заставить ее для чрезвычайно коротких чисел с плавающей запятой?
Вы можете делать всевозможные действия с помощью оператора %
. Например:
x = 123456789012345.to_f
"%f" % x # => "123456789012345.000000"
y = 1.23
"%E" % y # => "1.230000E+000"
Различные параметры те же, что и для функции sprintf.
Просто для удобства вы также можете управлять числом цифр после десятичной точки. Итак:
x = 1.234598
"%.3E" % x=> "1.235E+00"
Еще одна аккуратная вещь, которую вы можете сделать, это pad с пробелом слева:
x = 1.234
"%10.3E" % x => " 1.234E+00"