Decimalクラス
提供:AB開発Wiki
ナビゲーションに移動検索に移動
Decimal クラスは、COMで用いられるDECIMAL型をラップするクラスです。DECIMALは、10を基数とした指数を用いる浮動小数点数です。
クラスの機能
公開メソッド
コンストラクタ
Decimalを構築します。
Sub Decimal()
0で初期化します。
Sub Decimal(x As Long) Sub Decimal(x As DWord) Sub Decimal(x As Int64) Sub Decimal(x As QWord) Sub Decimal(x As Single) Sub Decimal(x As Double) Sub Decimal(x As DECIMAL) Sub Decimal(x As Decimal)
xの値で初期化します。
Sub Decimal(lo As DWord, mid As DWord, hi As DWord, isNegative As Boolean, scale As Byte)
構成要素毎に値を指定して構築します。
- lo
- 仮数の下32ビットを指定します。
- mid
- 仮数の中32ビットを指定します。
- hi
- 仮数の上32ビットを指定します。
- isNegative
- 負の値ならTrue、正の値ならFalseを指定します。
- scale
- 指数を0から28までの範囲の値で指定します。
暗黙的変換演算子
Decimalから変換します。
Const Function Operator () As Variant
Decimalへ変換します。
Static Function Operator(x As SByte) As Decimal Static Function Operator(x As Byte) As Decimal Static Function Operator(x As Integer) As Decimal Static Function Operator(x As Word) As Decimal Static Function Operator(x As Long) As Decimal Static Function Operator(x As DWord) As Decimal Static Function Operator(x As Int64) As Decimal Static Function Operator(x As QWord) As Decimal Static Function Operator(x As DECIMAL) As Decimal
暗黙的変換では、全ての変換で情報が失われることはありません。
明示的変換演算子
Decimalから変換します。
Const Function Operator As() As SByte Const Function Operator As() As Byte Const Function Operator As() As Integer Const Function Operator As() As Word Const Function Operator As() As Long Const Function Operator As() As DWord Const Function Operator As() As Int64 Const Function Operator As() As QWord Const Function Operator As() As Single Const Function Operator As() As Double Const Function Operator As() As Currency Const Function Operator As() As DECIMAL
Decimalへ変換します。
Static Function Operator As(x As Single) As Decimal Static Function Operator As(x As Double) As Decimal
明示的変換では、DECIMALへの変換を除いて、情報が失われ、誤差が生じることがあります。
正符号演算子
Const Function Operator +() As Decimal
Thisの複製を返します。
負符号演算子
Const Function Operator -() As Decimal
このオブジェクトの保持する値の符号を反転させた値を返します。
乗算演算子
Const Function Operator *(y As Decimal) As Decimal Const Function Operator *(y As Long) As Decimal Const Function Operator *(y As Int64) As Decimal
除算演算子
Const Function Operator /(y As Decimal) As Decimal
加算演算子
Const Function Operator +(y As Decimal) As Decimal
減算演算子
Const Function Operator -(y As Decimal) As Decimal
比較演算子
比較演算を行います。
Const Function Operator =(y As Decimal) As Boolean Const Function Operator =(y As Double) As Boolean Const Function Operator <>(y As Decimal) As Boolean Const Function Operator <>(y As Double) As Boolean Const Function Operator <(y As Decimal) As Boolean Const Function Operator <(y As Double) As Boolean Const Function Operator >(y As Decimal) As Boolean Const Function Operator >(y As Double) As Boolean Const Function Operator <=(y As Decimal) As Boolean Const Function Operator <=(y As Double) As Boolean Const Function Operator >=(y As Decimal) As Boolean Const Function Operator >=(y As Double) As Boolean
- 戻り値
- そうでなければ比較演算の結果が真ならTure、偽ならFalse。
Abs
絶対値を返します。
Const Function Abs() As Decimal
Fix
実数を整数にします。
Const Function Fix() As Decimal
- 戻り値
- 0方向へ向かって最も近い整数を返します。
Int
実数を整数にします。
Const Function Int() As Decimal
- 戻り値
- 与えられた値を越えない最大の整数を返します。
Round
実数を整数に丸めます。
Const Function Round(cDecimals = 0 As Long) As Decimal
- cDecimals
- 丸める小数点位置を指定します。省略すると0を指定したことになり、整数へ丸められます。
- 戻り値
- 丸められた値を返します。
Compare
比較を行います。
Static Function Compare(x As Decimal, y As Decimal) As HRESULT Static Function Compare(x As Decimal, y As Double) As HRESULT Static Function Compare(x As Double, y As Decimal) As HRESULT
- 戻り値
- xがyより大きいときにはVARCMP_LT、等しいときにはVARCMP_EQ、yがxより大きいときにはVARCMP_GT、xまたはyのどちらかにNullが含まれていた場合はVARCMP_NULLが返ります。
このメソッドはVarDecCmp, VerDecCmpR8関数を内部で呼び出します。
ToString
文字列へ変換します。
Override Function ToString() As String
ToVariant
Variantクラスへ変換します。
Override Function ToVariant() As Variant
GetHashCode
ハッシュ値を求めます。
Override Function GetHashCode() As Long
公開プロパティ
Dec
内部のDECIMAL値を読み書きできます。
Const Function Dec() As DECIMAL Sub Dec(ByRef d As DECIMAL)