View Javadoc
1   package com.github.mygreen.cellformatter.number;
2   
3   
4   
5   /**
6    * 書式を表現するための数値。
7    *
8    * @version 0.10
9    * @author T.TSUCHIE
10   *
11   */
12  public abstract class FormattedNumber {
13  
14      /**
15       * 元の数値。
16       */
17      protected final double value;
18  
19      /**
20       * 桁の区切を利用するかどうか。
21       */
22      protected boolean useSeparator;
23  
24      public FormattedNumber(final double value) {
25          this.value = value;
26      }
27  
28      /**
29       * 元の数値の値を取得する。
30       * @return
31       */
32      public double getValue() {
33          return value;
34      }
35  
36      /**
37       * 値がゼロかどうか。
38       * @return
39       */
40      public boolean isZero() {
41          return value == 0.0d;
42      }
43  
44      /**
45       * 正の数かどうか。
46       * @return
47       */
48      public boolean isPositive() {
49          return value > 0;
50      }
51  
52      /**
53       * 負の数かどうか。
54       * @return
55       */
56      public boolean isNegative() {
57          return value < 0;
58      }
59  
60      public NativeNumber asNative() {
61          return (NativeNumber) this;
62      }
63  
64      public DecimalNumber asDecimal() {
65          return (DecimalNumber) this;
66      }
67  
68      public PercentNumber asPercent() {
69          return (PercentNumber) this;
70      }
71  
72      public ExponentNumber asExponent() {
73          return (ExponentNumber) this;
74      }
75  
76      public FractionNumber asFraction() {
77          return (FractionNumber) this;
78      }
79  
80      /**
81       * 桁の区切を利用するかどうか。
82       * @return trueのとき区切り文字がある。
83       */
84      public boolean isUseSeparator() {
85          return useSeparator;
86      }
87  
88      /**
89       * 桁の区切を利用するかどうか設定する。
90       * @param useSeparator trueのとき区切り文字がある。
91       */
92      public void setUseSeparator(boolean useSeparator) {
93          this.useSeparator = useSeparator;
94      }
95  }