Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > bigdecimalライブラリ > BigDecimalクラス > sign
sign -> -3 | -2 | -1 | 0 | 1 | 2 | 3
[permalink][rdoc]自身の符号等の性質に応じて、Integer を返します。
符号が正であれば正の整数を返し、負であれば負の整数を返し、NaN であれば 0 を返します。
NaN であれば、 0。 BigDecimal::SIGN_NaN と同じです。 +0 であれば、 1。 BigDecimal::SIGN_POSITIVE_ZERO と同じです。 -0 であれば、-1。 BigDecimal::SIGN_NEGATIVE_ZERO と同じです。 有限の正の値 であれば、 2。 BigDecimal::SIGN_POSITIVE_FINITE と同じです。 有限の負の値 であれば、-2。 BigDecimal::SIGN_NEGATIVE_FINITE と同じです。 +Infinity であれば、 3。 BigDecimal::SIGN_POSITIVE_INFINITE と同じです。 -Infinity であれば、-3。 BigDecimal::SIGN_NEGATIVE_INFINITE と同じです。
BigDecimal は、 0 であっても、+ か - の符号を持つことに注意して下さい。 (「bigdecimal/内部構造」を参照)
require "bigdecimal"
p BigDecimal("NaN").sign # => 0
p BigDecimal("0").sign # => 1
p BigDecimal("100").sign # => 2
p BigDecimal("Infinity").sign # => 3
p BigDecimal("-0").sign # => -1
p BigDecimal("-5").sign # => -2
p BigDecimal("-Infinity").sign # => -3
p BigDecimal("0").sign == BigDecimal::SIGN_POSITIVE_ZERO # => true