Javaで数値の符号(SIGN)を取得する方法

Javaで数値の符号を取得する方法です。

Javaで数値の符号(SIGN)を取得する方法

符号とは「+:プラス」「-:マイナス」「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で数値の符号を取得する方法を紹介しました。

筆者の実務では符号って結構使うんですけど、世間はどうなんだろう。どの程度の需要があるのかわかりませんが、誰かの役に立てばうれしいですね。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。