Ruby 4.1 リファレンスマニュアル

class Float

[edit]

dynamic include: JSON::Generator::GeneratorMethods::Float (by json)

要約

浮動小数点数のクラス。Float の実装は C 言語の double で、その精度は環境に依存します。

一般にはせいぜい15桁です。詳しくは多くのシステムで採用されている浮動小数点標準規格、IEEE 754 を参照してください。

[SEE_ALSO] https://ja.wikipedia.org/wiki/IEEE_754

あるシステムでの 1/3(=0.333...) の結果
printf("%.50f\n", 1.0/3)
  # => 0.33333333333333331482961625624739099293947219848633

Math::PI などの数学定数については Math を参照してください。

目次

インスタンスメソッド
追加されるメソッド
定数

継承しているメソッド

Numericから継承しているメソッド
Comparableから継承しているメソッド

動的includeで追加されるメソッド

JSON::Generator::GeneratorMethods::Float (by json)

インスタンスメソッド

self % other -> Float[permalink][rdoc][edit]
modulo(other) -> Float

算術演算子。剰余を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 剰余
p 3.0 % 1.2 # => 0.6000000000000001
3.0 % 0.0   # ZeroDivisionError
self * other -> Float[permalink][rdoc][edit]

算術演算子。積を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 積
p 2.4 * 3 # => 7.2
self ** other -> Float[permalink][rdoc][edit]

算術演算子。冪を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 冪
p 1.2 ** 3.0  # => 1.7279999999999998
p 3.0 + 4.5 - 1.3 / 2.4 * 3 % 1.2 ** 3.0 # => 5.875
p 0.0 ** 0 # => 1.0
self + other -> Float[permalink][rdoc][edit]

算術演算子。和を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 和
p 3.0 + 4.5 # => 7.5
self - other -> Float[permalink][rdoc][edit]

算術演算子。差を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 差
p 4.5 - 1.3 # => 3.2
- self -> Float[permalink][rdoc][edit]

単項演算子の - です。 self の符号を反転させたものを返します。

p(- 1.2) # => -1.2
p(- -1.2)  # => 1.2
self / other -> Float[permalink][rdoc][edit]

算術演算子。商を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 商
p 1.3 / 2.4 # => 0.541666666666667
p 1.0 / 0 # => Infinity
self < other -> bool[permalink][rdoc][edit]

比較演算子。数値として小さいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other が大きい場合 true を返します。そうでなければ false を返します。
p 3.14 <  3.1415  # => true
p 3.14 <= 3.1415  # => true
self <= other -> bool[permalink][rdoc][edit]

比較演算子。数値として等しいまたは小さいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other の方が大きい場合か、両者が等しい場合 true を返します。そうでなければ false を返します。
p 3.14 <  3.1415  # => true
p 3.14 <= 3.1415  # => true
self <=> other -> -1 | 0 | 1 | nil[permalink][rdoc][edit]

selfother と比較し、self のほうが大きい場合に 1、等しい場合に 0、小さい場合に -1 を返します。比較できない場合は nil を返します

返り値を覚えるには、<=>- に置き換えてみるとよいでしょう。x <=> yx - y は符号が一致します。

比較できる例
p 3.05 <=> 3.14     # => -1
p 1.732 <=> 1.414   # => 1
p 3.3 - 3.3 <=> 0.0 # => 0

# 正負の無限大も比較できる
p 3.14 <=> Float::INFINITY  # => -1
p 3.14 <=> -Float::INFINITY # => 1
p Float::INFINITY <=> -Float::INFINITY # => 1

# Complex オブジェクトでも虚部がゼロなら比較できる
p 3.14 <=> 3.1+0i # => 1
比較できない例
# NaN とは比較できない
p 3.14 <=> 0.0/0.0  # => nil

# 虚部がゼロでない複素数とは比較できない
p 3.14 <=> 1i # => nil

# 数値でないものは Float と比較できない
p 3.14 <=> "3.1" # => nil
self == other -> bool[permalink][rdoc][edit]

比較演算子。数値として等しいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
selfother が等しい場合 true を返します。そうでなければ false を返します。
p 3.14 == 3.14000 # => true
p 3.14 == 3.1415  # => false

NaNどうしの比較は、未定義です。

p Float::NAN == Float::NAN    # => false
p [Float::NAN] == [Float::NAN]  # => true
p [Float::NAN] == [0.0 / 0.0] # => false
self > other -> bool[permalink][rdoc][edit]

比較演算子。数値として大きいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other の方が小さい場合 true を返します。そうでなければ false を返します。
p 3.14 >  3.1415  # => false
p 3.14 >= 3.1415  # => false
self >= other -> bool[permalink][rdoc][edit]

比較演算子。数値として等しいまたは大きいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other の方が小さい場合か、両者が等しい場合 true を返します。そうでなければ false を返します。
p 3.14 >  3.1415  # => false
p 3.14 >= 3.1415  # => false
abs -> Float[permalink][rdoc][edit]
magnitude -> FloatRuby 1.9.3 から

self の絶対値を返します。

p 34.56.abs    # => 34.56
p -34.56.abs   # => 34.56
arg -> 0 | FloatRuby 1.9.3 から[permalink][rdoc][edit]
angle -> 0 | Float
phase -> 0 | Float

self の偏角(正の数なら 0、負の数なら Math::PI)を返します。

p 1.arg  # => 0
p -1.arg # => 3.141592653589793

ただし、self が NaN(Not a number) であった場合は、NaN を返します。

ceil(ndigits = 0) -> Integer | Float[permalink][rdoc][edit]

self と等しいかより大きな整数のうち最小のものを返します。

[PARAM] ndigits:
10進数での小数点以下の有効桁数を整数で指定します。正の整数を指定した場合、Float を返します。小数点以下を、最大 n 桁にします。負の整数を指定した場合、Integer を返します。小数点位置から左に少なくとも n 個の 0 が並びます。
p 1.2.ceil    # => 2
p 2.0.ceil    # => 2
p (-1.2).ceil # => -1
p (-2.0).ceil # => -2

p 1.234567.ceil(2) # => 1.24
p 1.234567.ceil(3) # => 1.235
p 1.234567.ceil(4) # => 1.2346
p 1.234567.ceil(5) # => 1.23457

p 34567.89.ceil(-5)  # => 100000
p 34567.89.ceil(-4)  # => 40000
p 34567.89.ceil(-3)  # => 35000
p 34567.89.ceil(-2)  # => 34600
p 34567.89.ceil(-1)  # => 34570
p 34567.89.ceil(0) # => 34568
p 34567.89.ceil(1) # => 34567.9
p 34567.89.ceil(2) # => 34567.89
p 34567.89.ceil(3) # => 34567.89

[SEE_ALSO] Float#floor, Float#round, Float#truncate

denominator -> IntegerRuby 1.9.3 から[permalink][rdoc][edit]

selfRational に変換した時の分母を返します。

[RETURN]
分母を返します。
p 2.0.denominator       # => 1
p 0.5.denominator       # => 2

[SEE_ALSO] Float#numerator

divmod(other) -> [Numeric][permalink][rdoc][edit]

selfother で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。商 q は常に整数ですが、余り r は整数であるとは限りません。

ここで、商 q と余り r は、

  • self == other * q + r

  • other > 0 のとき: 0 <= r < other
  • other < 0 のとき: other < r <= 0
  • q は整数

をみたす数です。このメソッドは、メソッド /% によって定義されています。

[PARAM] other:
self を割る数を指定します。
p 11.divmod(3)       # => [3, 2]
p (11.5).divmod(3.5) # => [3, 1.0]
p 11.divmod(-3)      # => [-4, -1]
p 11.divmod(3.5)     # => [3, 0.5]
p (-11).divmod(3.5)  # => [-4, 3.0]

[SEE_ALSO] Numeric#div, Numeric#modulo

eql?(other) -> bool[permalink][rdoc][edit]

selfother のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。

[PARAM] other:
self と比較したい数値を指定します。
p 1.0.eql?(1) # => false
p 1.0.eql?(1.0) # => true
finite? -> bool[permalink][rdoc][edit]

self が ∞, -∞, NaN のどれでもない場合に true を返します。それ以外の場合に false を返します。

p 3.14.finite? # => true
inf = 1.0/0
p inf.finite? # => false

[SEE_ALSO] Float#infinite?

floor(ndigits = 0) -> Integer | Float[permalink][rdoc][edit]

self と等しいかより小さな整数のうち最大のものを返します。

[PARAM] ndigits:
10進数での小数点以下の有効桁数を整数で指定します。正の整数を指定した場合、Float を返します。小数点以下を、最大 n 桁にします。負の整数を指定した場合、Integer を返します。小数点位置から左に少なくとも n 個の 0 が並びます。
p 1.2.floor    # => 1
p 2.0.floor    # => 2
p (-1.2).floor # => -2
p (-2.0).floor # => -2

p 1.234567.floor(2) # => 1.23
p 1.234567.floor(3) # => 1.234
p 1.234567.floor(4) # => 1.2345
p 1.234567.floor(5) # => 1.23456

p 34567.89.floor(-5)  # => 0
p 34567.89.floor(-4)  # => 30000
p 34567.89.floor(-3)  # => 34000
p 34567.89.floor(-2)  # => 34500
p 34567.89.floor(-1)  # => 34560
p 34567.89.floor(0) # => 34567
p 34567.89.floor(1) # => 34567.8
p 34567.89.floor(2) # => 34567.89
p 34567.89.floor(3) # => 34567.89

[SEE_ALSO] Numeric#ceil, Numeric#round, Float#truncate

hash -> Integer[permalink][rdoc][edit]

ハッシュ値を返します。

pi1 = 3.14
pi2 = 3.14
pi3 = 3.1415

pi1.hash # => 335364239
pi2.hash # => 335364239
pi3.hash # => 420540030
infinite? -> 1 | -1 | nil[permalink][rdoc][edit]

self が +∞ のとき 1、-∞のとき -1 を返します。それ以外は nil を返します。

inf = 1.0/0
p inf            # => Infinity
p inf.infinite?  # => 1

inf = -1.0/0
p inf            # => -Infinity
p inf.infinite?  # => -1

[SEE_ALSO] Float#finite?

to_s -> String[permalink][rdoc][edit]
inspect -> String

self を人間が読みやすい形の文字列表現にして返します。

10進固定小数点、10進浮動小数点の形式か、"Infinity""-Infinity""NaN" のいずれかを返します。

[RETURN]
文字列を返します。
p 0.00001.to_s           # => "1.0e-05"
p 3.14.to_s              # => "3.14"
p 10000_00000_00000.0.to_s # => "100000000000000.0"
p 10000_00000_00000_00000.0.to_s # => "1.0e+19"
p (1.0/0.0).to_s         # => "Infinity"
p (0.0/0.0).to_s         # => "NaN"

0.1.to_s が文字列 "0.1" を返すのは自明ではありません。数値リテラル 0.1 によって生成される Float オブジェクトは、数学的には 0.1 からわずかにずれた値であり、厳密な小数表示は循環小数になります。それに対し、Float#to_s は Float が持つ精度に見合った穏当な文字列表現を返します。

nan? -> bool[permalink][rdoc][edit]

self が NaN(Not a number)のとき true を返し、そうでないとき false を返します。

nan = 0.0/0.0
p nan       # => NaN
p nan.nan?  # => true
negative? -> boolRuby 2.3.0 から[permalink][rdoc][edit]

self が 0 未満の場合に true を返します。そうでない場合に false を返します。

p -0.1.negative? # => true
p 0.0.negative?  # => false
p 0.1.negative?  # => false

[SEE_ALSO] Float#positive?

next_float -> FloatRuby 2.2.0 から[permalink][rdoc][edit]

浮動小数点数で表現可能な self の次の値を返します。

Float::MAX.next_floatFloat::INFINITY.next_floatFloat::INFINITY を返します。Float::NAN.next_floatFloat::NAN を返します。

p 0.01.next_float  # => 0.010000000000000002
p 1.0.next_float   # => 1.0000000000000002
p 100.0.next_float # => 100.00000000000001

p 0.01.next_float - 0.01   # => 1.734723475976807e-18
p 1.0.next_float - 1.0     # => 2.220446049250313e-16
p 100.0.next_float - 100.0 # => 1.4210854715202004e-14

f = 0.01; 20.times { printf "%-20a %s\n", f, f.to_s; f = f.next_float }
# => 0x1.47ae147ae147bp-7 0.01
#    0x1.47ae147ae147cp-7 0.010000000000000002
#    0x1.47ae147ae147dp-7 0.010000000000000004
#    0x1.47ae147ae147ep-7 0.010000000000000005
#    0x1.47ae147ae147fp-7 0.010000000000000007
#    0x1.47ae147ae148p-7  0.010000000000000009
#    0x1.47ae147ae1481p-7 0.01000000000000001
#    0x1.47ae147ae1482p-7 0.010000000000000012
#    0x1.47ae147ae1483p-7 0.010000000000000014
#    0x1.47ae147ae1484p-7 0.010000000000000016
#    0x1.47ae147ae1485p-7 0.010000000000000018
#    0x1.47ae147ae1486p-7 0.01000000000000002
#    0x1.47ae147ae1487p-7 0.010000000000000021
#    0x1.47ae147ae1488p-7 0.010000000000000023
#    0x1.47ae147ae1489p-7 0.010000000000000024
#    0x1.47ae147ae148ap-7 0.010000000000000026
#    0x1.47ae147ae148bp-7 0.010000000000000028
#    0x1.47ae147ae148cp-7 0.01000000000000003
#    0x1.47ae147ae148dp-7 0.010000000000000031
#    0x1.47ae147ae148ep-7 0.010000000000000033

[SEE_ALSO] Float#prev_float

numerator -> IntegerRuby 1.9.3 から[permalink][rdoc][edit]

selfRational に変換した時の分子を返します。

[RETURN]
分子を返します。
p 2.0.numerator         # => 2
p 0.5.numerator         # => 1

[SEE_ALSO] Float#denominator

positive? -> boolRuby 2.3.0 から[permalink][rdoc][edit]

self が 0 より大きい場合に true を返します。そうでない場合に false を返します。

p 0.1.positive? # => true
p 0.0.positive? # => false
p -0.1.positive?  # => false

[SEE_ALSO] Float#negative?

prev_float -> FloatRuby 2.2.0 から[permalink][rdoc][edit]

浮動小数点数で表現可能な self の前の値を返します。

(-Float::MAX).prev_float(-Float::INFINITY).prev_float-Float::INFINITY を返します。Float::NAN.prev_floatFloat::NAN を返します。

p 0.01.prev_float  # => 0.009999999999999998
p 1.0.prev_float   # => 0.9999999999999999
p 100.0.prev_float # => 99.99999999999999

p 0.01 - 0.01.prev_float   # => 1.734723475976807e-18
p 1.0 - 1.0.prev_float     # => 1.1102230246251565e-16
p 100.0 - 100.0.prev_float # => 1.4210854715202004e-14

f = 0.01; 20.times { printf "%-20a %s\n", f, f.to_s; f = f.prev_float }
# => 0x1.47ae147ae147bp-7 0.01
#    0x1.47ae147ae147ap-7 0.009999999999999998
#    0x1.47ae147ae1479p-7 0.009999999999999997
#    0x1.47ae147ae1478p-7 0.009999999999999995
#    0x1.47ae147ae1477p-7 0.009999999999999993
#    0x1.47ae147ae1476p-7 0.009999999999999992
#    0x1.47ae147ae1475p-7 0.00999999999999999
#    0x1.47ae147ae1474p-7 0.009999999999999988
#    0x1.47ae147ae1473p-7 0.009999999999999986
#    0x1.47ae147ae1472p-7 0.009999999999999985
#    0x1.47ae147ae1471p-7 0.009999999999999983
#    0x1.47ae147ae147p-7  0.009999999999999981
#    0x1.47ae147ae146fp-7 0.00999999999999998
#    0x1.47ae147ae146ep-7 0.009999999999999978
#    0x1.47ae147ae146dp-7 0.009999999999999976
#    0x1.47ae147ae146cp-7 0.009999999999999974
#    0x1.47ae147ae146bp-7 0.009999999999999972
#    0x1.47ae147ae146ap-7 0.00999999999999997
#    0x1.47ae147ae1469p-7 0.009999999999999969
#    0x1.47ae147ae1468p-7 0.009999999999999967

[SEE_ALSO] Float#next_float

rationalize -> RationalRuby 1.9.3 から[permalink][rdoc][edit]
rationalize(eps) -> Rational

self から eps で指定した許容誤差の範囲に収まるような、できるだけ簡潔な Rational を返します。

eps を省略した場合は、self の浮動小数点数としての精度に基づいて許容誤差が自動的に決定され、その範囲に収まる簡潔な Rational を返します。そのため Float#to_r が返す厳密な値とは異なります。誤差のない厳密な値が必要な場合は Float#to_r を使ってください。

[PARAM] eps:
許容する誤差
p 0.3.rationalize        # => (3/10)
p 0.3.to_r               # => (5404319552844595/18014398509481984)
p 1.333.rationalize      # => (1333/1000)
p 1.333.rationalize(0.01)  # => (4/3)

[SEE_ALSO] Float#to_r

round(ndigits = 0) -> Integer | Float[permalink][rdoc][edit]
round(ndigits = 0, half: :up) -> Integer | Float

self ともっとも近い整数もしくは実数を返します。

中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。いわゆる四捨五入ですが、偶数丸めではありません。

[PARAM] ndigits:
丸める位を指定します。 ndigits が0ならば、小数点以下を四捨五入し、整数を返します。 ndigits が0より大きいならば、小数点以下の指定された位で四捨五入されます。 ndigits が0より小さいならば、小数点以上の指定された位で四捨五入されます。
[PARAM] half:
ちょうど半分の値の丸め方を指定します。サポートされている値は以下の通りです。
  • :up or nil: 0から遠い方に丸められます。
  • :even: もっとも近い偶数に丸められます。
  • :down: 0に近い方に丸められます。
[RETURN]
指定された引数に応じて、整数もしくは実数を返します。 ndigits が0ならば、整数を返します。 ndigits が0より大きいならば、実数を返します。 ndigits が0より小さいならば、整数を返します。
[EXCEPTION] TypeError:
ndigits で指定されたオブジェクトが整数に変換できない場合発生します。
p 1.0.round    # => 1
p 1.2.round    # => 1
p (-1.2).round # => -1
p (-1.5).round # => -2

t = Math::PI # => 3.141592653589793
p t.round(3) # => 3.142
p t.round(0) # => 3
p t.round(1) # => 3.1

t = t**10      # => 93648.04747608298
p t.round(-0)  # => 93648
p t.round(-1)  # => 93650
p t.round(-2)  # => 93600
p t.round(-3)  # => 94000
p t.round(-100)  # => 0

p 2.5.round(half: :up) # => 3
p 2.5.round(half: :even) # => 2
p 2.5.round(half: :down) # => 2
p 3.5.round(half: :up) # => 4
p 3.5.round(half: :even) # => 4
p 3.5.round(half: :down) # => 3

[SEE_ALSO] Float#ceil, Float#floor, Float#truncate

to_f -> self[permalink][rdoc][edit]

self を返します。

p 3.14.to_f # => 3.14
to_i -> Integer[permalink][rdoc][edit]
truncate(ndigits = 0) -> Integer | Float

小数点以下を切り捨てて値を整数に変換します。

[PARAM] ndigits:
10進数での小数点以下の有効桁数を整数で指定します。正の整数を指定した場合、Float を返します。小数点以下を、最大 n 桁にします。負の整数を指定した場合、Integer を返します。小数点位置から左に少なくとも n 個の 0 が並びます。
p 2.8.truncate         # => 2
p (-2.8).truncate      # => -2
p 1.234567.truncate(2) # => 1.23
p 34567.89.truncate(-2)  # => 34500

[SEE_ALSO] Numeric#round, Numeric#ceil, Numeric#floor

to_r -> RationalRuby 1.9.3 から[permalink][rdoc][edit]

selfRational オブジェクトに変換したものを返します。

浮動小数点数は、Float::INFINITY, -Float::INFINITY, Float::NAN を除けば数学的には有理数を表しています。その値を得るメソッドです。

[EXCEPTION] FloatDomainError:
selfFloat::INFINITY, -Float::INFINITY, Float::NAN の場合に発生します。
p 0.0.to_r  # => (0/1)
p 0.75.to_r # => (3/4)
リテラルで得られるFloatの厳密値を知る例
p 0.1.to_r # => (3602879701896397/36028797018963968)
p 0.1r     # => (1/10)
# 浮動小数点数リテラル `0.1` によって生成される Float オブジェクトは
# 数学的には 0.1 とはわずかに異なる数を表しており、
# 有理数リテラル `0.1r` で生成される Rational オブジェクトとは
# 値が一致しない

[SEE_ALSO] Float#rationalize

zero? -> bool[permalink][rdoc][edit]

self がゼロの時、true を返します。そうでない場合は false を返します。

p 10.0.zero?          # => false
p 0.zero?             # => true
p 0.0.zero?           # => true

追加されるメソッド

to_d -> BigDecimal[permalink][rdoc][edit] [added by bigdecimal/util]
to_d(prec) -> BigDecimal [added by bigdecimal/util]

自身を BigDecimal に変換します。

[PARAM] prec:
計算結果の精度。省略した場合は Float::DIG + 1 です。
[RETURN]
BigDecimal に変換したオブジェクト
require 'bigdecimal'
require 'bigdecimal/util'

p 1.0.to_d       # => 0.1e1
p (1.0 / 0).to_d # => Infinity

p (1.0 / 3).to_d / (2.0 / 3).to_d  # => 0.5e0
p ((1.0 / 3) / (2.0 / 3)).to_d     # => 0.5e0
[EXCEPTION] ArgumentError:
prec に負の数を指定した場合に発生します。

定数

DIG -> Integer[permalink][rdoc][edit]

Float が表現できる最大の 10 進桁数です。

通常はデフォルトで 15 です。

EPSILON -> Float[permalink][rdoc][edit]

1.0 + Float::EPSILON != 1.0 となる最小の正の値です。

通常はデフォルトで 2.2204460492503131e-16 です。

INFINITY -> FloatRuby 1.9.3 から[permalink][rdoc][edit]

浮動小数点数における正の無限大です。

負の無限大は -Float::INFINITY です。

[SEE_ALSO] Float#finite?, Float#infinite?

MANT_DIG -> Integer[permalink][rdoc][edit]

仮数部の Float::RADIX 進法での桁数です。

通常はデフォルトで 53 です。

MAX -> Float[permalink][rdoc][edit]

Float が取り得る最大の有限の値です。

通常はデフォルトで 1.7976931348623157e+308 です。

[SEE_ALSO] Float::MIN

MAX_10_EXP -> Integer[permalink][rdoc][edit]

最大の 10 進の指数です。

通常はデフォルトで 308 です。

[SEE_ALSO] Float::MIN_10_EXP

MAX_EXP -> Integer[permalink][rdoc][edit]

最大の Float::RADIX 進の指数です。

通常はデフォルトで 1024 です。

[SEE_ALSO] Float::MIN_EXP

MIN -> Float[permalink][rdoc][edit]

Float が取り得る最小の正の値です。

通常はデフォルトで 2.2250738585072014e-308 です。

Float が取り得る最小の有限の値は -Float::MAX です。

[SEE_ALSO] Float::MAX

MIN_10_EXP -> Integer[permalink][rdoc][edit]

最小の 10 進の指数です。

通常はデフォルトで -307 です。

[SEE_ALSO] Float::MAX_10_EXP

MIN_EXP -> Integer[permalink][rdoc][edit]

最小の Float::RADIX 進の指数です。

通常はデフォルトで -1021 です。

[SEE_ALSO] Float::MAX_EXP

NAN -> FloatRuby 1.9.3 から[permalink][rdoc][edit]

浮動小数点数における NaN(Not a number)です。

[SEE_ALSO] Float#nan?

RADIX -> Integer[permalink][rdoc][edit]

指数表現の基数です。