Javaで数値の符号(SIGN)を取得する方法
Javaで数値の符号を取得する方法です。
符号とは「+:プラス」「-:マイナス」「0:ゼロ」の種類があり、ExcelやSQLではSIGN関数が用意されています。
Javaで数値の符号を取得するには「Math.signum」を使えば取得できます。doubleとBigDecimal、それぞれでの取得方法を検証してみました。
ここでは Javaで数値の符号を取得する方法 を紹介します。
doubleで符号取得
doubleで符号を取得するには「java.lang.Math#signum」を利用します。
double plus = Math.signum(100); // 1.0
double zero = Math.signum(0); // 0.0
double minus = Math.signum(-100); // -1.0
signumメソッドに渡した数値によって結果が変わります。
- 引数がゼロより大きい場合 ⇒ 1
- 引数がゼロの場合 ⇒ 0
- 引数がゼロより小さい場合 ⇒ -1
BigDecimalで符号取得
BigDecimalで符号を取得するには「java.math.BigDecimal#signnum」を利用します。
int plus = new BigDecimal(100).signum(); // 1
int zero = new BigDecimal(0).signum(); // 0
int minus = new BigDecimal(-100).signum(); // -1
java.lang.Math#signnumはflortとdoubleしか対応していないのでBigdecimalではこんな感じになりますが、結果は同じです。
まとめ
Javaで数値の符号を取得する方法を紹介しました。
筆者の実務では符号って結構使うんですけど、世間はどうなんだろう。どの程度の需要があるのかわかりませんが、誰かの役に立てばうれしいですね。
おつかれさまでした。