10 進数の拡張メソッドをになります。
拡張メソッドがわからない方は、以下の記事を参考にしてください。
目次
- 1 10 進数の拡張メソッド DecimalExtensions
- 2 DecimalExtensions クラスのメソッド一覧
- 3 Abs メソッド
- 4 Add メソッド
- 5 Ceiling メソッド
- 6 CeilingWithDecimals メソッド
- 7 Divide メソッド
- 8 Floor メソッド
- 9 FloorWithDecimals メソッド
- 10 GetBits メソッド
- 11 Max メソッド
- 12 Min メソッド
- 13 Multiply メソッド
- 14 Negate メソッド
- 15 Remainder メソッド
- 16 Round メソッド
- 17 Sign メソッド
- 18 Subtract メソッド
- 19 ToByte メソッド
- 20 ToDouble メソッド
- 21 ToInt16 メソッド
- 22 ToInt32 メソッド
- 23 ToInt64 メソッド
- 24 ToOACurrency メソッド
- 25 ToSByte メソッド
- 26 ToSingle メソッド
- 27 ToUInt16 メソッド
- 28 ToUInt32 メソッド
- 29 ToUInt64 メソッド
- 30 Truncate メソッド
- 31 参考記事
10 進数の拡張メソッド DecimalExtensions
10 進数の拡張メソッドは DecimalExtensions クラスに実装しています。
1 2 3 4 5 6 7 8 9 10 11 12 |
using System; namespace Extensions { /// <summary> /// Decimal 拡張メソッドクラス /// </summary> public static class DecimalExtensions { // ... } } |
DecimalExtensions クラスのメソッド一覧
DecimalExtensionsクラスに実装しているメソッドの一覧です。
メソッド名 | 説明 |
---|---|
Abs | 数値の絶対値を取得します。 |
Add | 指定した値を加算します。 |
Ceiling | 最小の整数に切り上げます。 |
CeilingWithDecimals | 小数以下を指定した小数部の桁数に切り上げた最小の数値を取得します。 |
Divide | 指定した値を除算します。 |
Floor | 最大の整数に切り捨てます。 |
FloorWithDecimals | 小数以下を指定した小数部の桁数に切り捨てた最大の数値を取得します。 |
GetBits | インスタンスの値と等価のバイナリ形式の値を取得します。 |
Max | 大きい方の数値を取得します。 |
Min | 小さい方の数値を取得します。 |
Multiply | 指定した値を乗算します。 |
Negate | -1 を乗算します。 |
Remainder | 除算した後の剰余を計算します。 |
Round | 最も近い整数に丸めます。 |
Round | 指定した小数部の桁数に丸めます。 |
Round | 最も近い整数に丸めます。 値が 2 つの数値の中間にある場合にその値を丸める方法をパラメーターで指定します。 |
Round | 指定した小数部の桁数に丸めます。値が 2 つの数値の中間にある場合にその値を丸める方法をパラメーターで指定します。 |
Sign | 符号を示す整数を取得します。 |
Subtract | 指定した値を減算します。 |
ToByte | Byte に変換します。 |
ToDouble | Double に変換します。 |
ToInt16 | Int16 に変換します。 |
ToInt32 | Int32 に変換します。 |
ToInt64 | Int64 に変換します。 |
ToOACurrency | OACurrency に変換します。 |
ToSByte | SByte に変換します。 |
ToSingle | Single に変換します。 |
ToUInt16 | UInt16 に変換します。 |
ToUInt32 | UInt32 に変換します。 |
ToUInt64 | UInt64 に変換します。 |
Truncate | 10 進数の整数部を取得します。 |
Abs メソッド
インスタンスメソッドのように呼び出すことのできるAdsメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// 数値の絶対値を取得します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>絶対値を返します。</returns> public static decimal Abs(this decimal @this) { return Math.Abs(@this); } |
Add メソッド
インスタンスメソッドのように呼び出すことのできるAddメソッドです。
1 2 3 4 5 6 7 8 9 10 |
/// <summary> /// 指定した値を加算します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="value">加算する値</param> /// <returns>加算した結果を返します。</returns> public static decimal Add(this decimal @this, decimal value) { return decimal.Add(@this, value); } |
Ceiling メソッド
インスタンスメソッドのように呼び出すことのできるCeilingメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// 最小の整数に切り上げます。 /// </summary> /// <param name="this">対象の値</param> /// <returns>切り上げた最小の整数を返します。</returns> public static decimal Ceiling(this decimal @this) { return Math.Ceiling(@this); } |
CeilingWithDecimals メソッド
小数部の桁数を指定して切り上げた値を取得するメソッドです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/// <summary> /// 小数以下を指定した小数部の桁数に切り上げた最小の数値を取得します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="decimals">切り上げ後の桁数</param> /// <returns>切り上げた最小の数値を返します。</returns> public static decimal CeilingWithDecimals(this decimal @this, int decimals) { if (decimals < 0) { string paramName = "decimals"; string message = "切り上げ後の桁数は 0 から 15 までの間でなければなりません。"; throw new ArgumentOutOfRangeException(paramName, message); } decimal d = (decimal)Math.Pow(10, decimals); decimal value = @this * d; value = Math.Ceiling(value); return value / d; } |
Divide メソッド
インスタンスメソッドのように呼び出すことのできるDivideメソッドです。
1 2 3 4 5 6 7 8 9 10 |
/// <summary> /// 指定した値を除算します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="value">除算する値</param> /// <returns>除算した結果を返します。</returns> public static decimal Divide(this decimal @this, decimal value) { return decimal.Divide(@this, value); } |
Floor メソッド
インスタンスメソッドのように呼び出すことのできるFloorメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// 最大の整数に切り捨てます。 /// </summary> /// <param name="this">対象の値</param> /// <returns>切り捨てた最大の整数を返します。を返します。</returns> public static decimal Floor(this decimal @this) { return Math.Floor(@this); } |
FloorWithDecimals メソッド
小数部の桁数を指定して切り捨てた値を取得するメソッドです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/// <summary> /// 小数以下を指定した小数部の桁数に切り捨てた最大の数値を取得します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="decimals">切り捨て後の桁数</param> /// <returns>切り捨てた最大の数値を返します。</returns> public static decimal FloorWithDecimals(this decimal @this, int decimals) { if (decimals < 0) { string paramName = "decimals"; string message = "切り捨て後の桁数は 0 から 15 までの間でなければなりません。"; throw new ArgumentOutOfRangeException(paramName, message); } decimal d = (decimal)Math.Pow(10, decimals); decimal value = @this * d; value = Math.Floor(value); return value / d; } |
GetBits メソッド
インスタンスメソッドのように呼び出すことのできるGetBitsメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// インスタンスの値と等価のバイナリ形式の値を取得します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>バイナリ形式を格納している 4 要素長の 32 ビット符号付き整数配列を返します。</returns> public static int[] GetBits(this decimal @this) { return decimal.GetBits(@this); } |
Max メソッド
インスタンスメソッドのように呼び出すことのできるMaxメソッドです。
1 2 3 4 5 6 7 8 9 10 |
/// <summary> /// 大きい方の数値を取得します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="value">比較する値</param> /// <returns>大きい方を返します。</returns> public static decimal Max(this decimal @this, decimal value) { return Math.Max(@this, value); } |
Min メソッド
インスタンスメソッドのように呼び出すことのできるMinメソッドです。
1 2 3 4 5 6 7 8 9 10 |
/// <summary> /// 小さい方の数値を取得します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="value">比較する値</param> /// <returns>小さい方を返します。</returns> public static decimal Min(this decimal @this, decimal value) { return Math.Min(@this, value); } |
Multiply メソッド
インスタンスメソッドのように呼び出すことのできるMultiplyメソッドです。
1 2 3 4 5 6 7 8 9 10 |
/// <summary> /// 指定した値を乗算します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="value">乗算する値</param> /// <returns>乗算した結果を返します。</returns> public static decimal Multiply(this decimal @this, decimal value) { return decimal.Multiply(@this, value); } |
Negate メソッド
インスタンスメソッドのように呼び出すことのできるNegateメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// -1 を乗算します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>-1 を乗算した結果を返します。</returns> public static decimal Negate(this decimal @this) { return decimal.Negate(@this); } |
Remainder メソッド
インスタンスメソッドのように呼び出すことのできるRemainderメソッドです。
1 2 3 4 5 6 7 8 9 10 |
/// <summary> /// 除算した後の剰余を計算します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="value">除算する値</param> /// <returns>除算した結果生じた剰余を返します。</returns> public static decimal Remainder(this decimal @this, decimal value) { return decimal.Remainder(@this, value); } |
Round メソッド
インスタンスメソッドのように呼び出すことのできるRoundメソッドです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
/// <summary> /// 最も近い整数に丸めます。 /// </summary> /// <param name="this">対象の値</param> /// <returns>丸めた結果の整数を返します。</returns> public static decimal Round(this decimal @this) { return Math.Round(@this); } /// <summary> /// 指定した小数部の桁数に丸めます。 /// </summary> /// <param name="this">対象の値</param> /// <param name="decimals">丸める桁数</param> /// <returns>丸めた結果の数値を返します。</returns> public static decimal Round(this decimal @this, int decimals) { return Math.Round(@this, decimals); } /// <summary> /// 最も近い整数に丸めます。 値が 2 つの数値の中間にある場合にその値を丸める方法をパラメーターで指定します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="mode">2 つの数値の中間にある場合に丸める方法</param> /// <returns>丸めた結果の整数を返します。</returns> public static decimal Round(this decimal @this, MidpointRounding mode) { return Math.Round(@this, mode); } /// <summary> /// 指定した小数部の桁数に丸めます。値が 2 つの数値の中間にある場合にその値を丸める方法をパラメーターで指定します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="decimals">丸める桁数</param> /// <param name="mode">2 つの数値の中間にある場合に丸める方法</param> /// <returns>丸めた結果の数値を返します。</returns> public static decimal Round(this decimal @this, int decimals, MidpointRounding mode) { return Math.Round(@this, decimals, mode); } |
Sign メソッド
インスタンスメソッドのように呼び出すことのできるSignメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// 符号を示す整数を取得します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>符号を示す整数を返します。0 未満の場合は - 1、0 の場合は 0、0 より大きい場合は 1 になります。</returns> public static int Sign(this decimal @this) { return Math.Sign(@this); } |
Subtract メソッド
インスタンスメソッドのように呼び出すことのできるSubtractメソッドです。
1 2 3 4 5 6 7 8 9 10 |
/// <summary> /// 指定した値を減算します。 /// </summary> /// <param name="this">対象の値</param> /// <param name="value">減算する値</param> /// <returns>減算した結果を返します。</returns> public static decimal Subtract(this decimal @this, decimal value) { return decimal.Subtract(@this, value); } |
ToByte メソッド
インスタンスメソッドのように呼び出すことのできるToByteメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// Byte に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>Byte に変換した値を返します。</returns> public static byte ToByte(this decimal @this) { return decimal.ToByte(@this); } |
ToDouble メソッド
インスタンスメソッドのように呼び出すことのできるToDoubleメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// Double に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>Double に変換した値を返します。</returns> public static double ToDouble(this decimal @this) { return decimal.ToDouble(@this); } |
ToInt16 メソッド
インスタンスメソッドのように呼び出すことのできるToInt16メソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// Int16 に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>Int16 に変換した値を返します。</returns> public static short ToInt16(this decimal @this) { return decimal.ToInt16(@this); } |
ToInt32 メソッド
インスタンスメソッドのように呼び出すことのできるToInt32メソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// Int32 に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>Int32 に変換した値を返します。</returns> public static int ToInt32(this decimal @this) { return decimal.ToInt32(@this); } |
ToInt64 メソッド
インスタンスメソッドのように呼び出すことのできるToInt64メソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// Int64 に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>Int64 に変換した値を返します。</returns> public static long ToInt64(this decimal @this) { return decimal.ToInt64(@this); } |
ToOACurrency メソッド
インスタンスメソッドのように呼び出すことのできるToOACurrencyメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// OACurrency に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>OACurrency に変換した値を返します。</returns> public static long ToOACurrency(this decimal @this) { return decimal.ToOACurrency(@this); } |
ToSByte メソッド
インスタンスメソッドのように呼び出すことのできるToSByteメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// SByte に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>SByte に変換した値を返します。</returns> public static sbyte ToSByte(this decimal @this) { return decimal.ToSByte(@this); } |
ToSingle メソッド
インスタンスメソッドのように呼び出すことのできるToSingleメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// Single に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>Single に変換した値を返します。</returns> public static float ToSingle(this decimal @this) { return decimal.ToSingle(@this); } |
ToUInt16 メソッド
インスタンスメソッドのように呼び出すことのできるToUInt16メソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// UInt16 に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>UInt16 に変換した値を返します。</returns> public static ushort ToUInt16(this decimal @this) { return decimal.ToUInt16(@this); } |
ToUInt32 メソッド
インスタンスメソッドのように呼び出すことのできるToUInt32メソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// UInt32 に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>UInt32 に変換した値を返します。</returns> public static uint ToUInt32(this decimal @this) { return decimal.ToUInt32(@this); } |
ToUInt64 メソッド
インスタンスメソッドのように呼び出すことのできるToUInt64メソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// UInt64 に変換します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>UInt64 に変換した値を返します。</returns> public static ulong ToUInt64(this decimal @this) { return decimal.ToUInt64(@this); } |
Truncate メソッド
インスタンスメソッドのように呼び出すことのできるTruncateメソッドです。
1 2 3 4 5 6 7 8 9 |
/// <summary> /// 10 進数の整数部を取得します。 /// </summary> /// <param name="this">対象の値</param> /// <returns>整数部を返します。</returns> public static decimal Truncate(this decimal @this) { return Math.Truncate(@this); } |
今後も10 進数の拡張メソッドが貯まってきたら随時追加していきます。
参考記事
文字列の拡張メソッドについては、以下の記事をご参照ください。
日付と時間の拡張メソッドについては、以下の記事をご参照ください。
倍精度浮動小数点数の拡張メソッドについては、以下の記事をご参照ください。
コレクションの拡張メソッドについては、以下の記事をご参照ください。