Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > bigdecimalライブラリ > BigDecimalクラス > to_s

instance method BigDecimal#to_s

to_s -> String[permalink][rdoc]
to_s(n) -> String

self を文字列に変換します (デフォルトは "0.xxxxxen" の形になります)。

[PARAM] n:
出力の形式を Integer または String で指定します。

require "bigdecimal"
BigDecimal("1.23456").to_s  #  ==> "0.123456e1"

引数 n に正の整数が指定されたときは、小数点で分けられる左右部分を、それぞれ n 桁毎に空白で区切ります。


require "bigdecimal"
BigDecimal("0.1234567890123456789").to_s(10)   # => "0.1234567890 123456789e0"

引数 n に正の整数を表す文字列を指定することもできます。


require "bigdecimal"
BigDecimal("0.1234567890123456789").to_s("10") # => "0.1234567890 123456789e0"

文字列の最初に '+' または ' ' を付けると、値が正の場合先頭に '+' または ' ' が付きます。負の場合は常に '-' が付きます。


require "bigdecimal"
BigDecimal("0.123456").to_s(" 3") # => " 0.123 456e0"
BigDecimal("0.123456").to_s("+3") # => "+0.123 456e0"
BigDecimal("-0.123456").to_s("3") # => "-0.123 456e0"

さらに文字列の最後に指数形式 ('E' または 'e') か指数を使わない形式 ('F' または 'f') かを指定出来ます。デフォルトは指数形式です。


require "bigdecimal"
BigDecimal("123.456").to_s("e")     # => "0.123456e3"
BigDecimal("123.456").to_s("E")     # => "0.123456e3"
                                    # (大文字で指定しても出力は 'e' になる)
BigDecimal("123.456").to_s("F")     # => "123.456"
BigDecimal("1234.5678").to_s("3F")  # => "123 4.567 8"