to.tetramorph.starbase.lib
クラス Unit

java.lang.Object
  上位を拡張 to.tetramorph.starbase.lib.Unit

public class Unit
extends Object

60進数と10進数の相互変換を行う。 staticメソッド群


メソッドの概要
static double circularRound(double value)
          入力された値を、0-360度の範囲に丸める。
static double decimal(double sexagesimal)
          60進表現の浮動小数点値を10進表現の浮動小数値にして返す。
static void main(String[] args)
           
static double sexagesimal(double decimal)
          10進表現の浮動小数点値を60進表現の浮動小数値にして返す。
static double[] sexagesimals(double decimal)
          10進小数を60進数表現にして返す。
static double truncate(double value, int degit)
          浮動小数値を指定された精度で切り捨てる
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

sexagesimals

public static double[] sexagesimals(double decimal)
10進小数を60進数表現にして返す。
 戻り値を表示する際の例
    System.out.printf("%d %d %f\n",(int)v[1],(int)v[2],v[3]);
 

パラメータ:
decimal - 十進小数
戻り値:
戻り値の[0]は符号で、正の値のときは1.0、負のときは-1.0、 ゼロのときは0.0。 [1]は度、または時の位。[2]は分、[3]は秒とその端数。 [0],[1],[2]はかならず整数が戻る。つまり分の位なら0-59が戻る。

sexagesimal

public static double sexagesimal(double decimal)
10進表現の浮動小数点値を60進表現の浮動小数値にして返す。


decimal

public static double decimal(double sexagesimal)
60進表現の浮動小数点値を10進表現の浮動小数値にして返す。 たとえば10.594099という値は、10度59分40秒99を表し、それをこのメソッドで 10進小数に変換すると、11.677453703703698という値になる。 それを再びsexagesimal()で変換すると、10.594099という値に戻る。 ただし場合によっては多少の誤差が発生するかもしれない。


truncate

public static double truncate(double value,
                              int degit)
浮動小数値を指定された精度で切り捨てる

パラメータ:
value - 切り捨てを行う値
degit - 小数点何位以降を切り捨てるか。2を指定すればxx.xx0000...という 値になる。0ならは小数部は0になる。
例外:
IllegalArgumentException - degitに負数を指定したとき。

circularRound

public static double circularRound(double value)
入力された値を、0-360度の範囲に丸める。-30が入力されたら330になるし、 370が入力されたら10になる。


main

public static void main(String[] args)