Decimal 構造体とは? わかりやすく解説

Decimal 構造体

10 進数表します

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Structure Decimal
    Implements IFormattable, IComparable, IConvertible, IComparable(Of
 Decimal), _
    IEquatable(Of Decimal)
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public struct Decimal : IFormattable, IComparable, IConvertible,
 
    IComparable<decimal>, IEquatable<decimal>
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public value class Decimal : IFormattable,
 IComparable, IConvertible, 
    IComparable<Decimal>, IEquatable<Decimal>
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class Decimal extends ValueType
 implements IFormattable, IComparable, 
    IConvertible, IComparable<Decimal>, IEquatable<Decimal>
JScript では、構造体使用できますが、新規に宣言することはできません。
解説解説

Decimal 値型は、正の 79,228,162,514,264,337,593,543,950,335 から負の 79,228,162,514,264,337,593,543,950,335 までの範囲10 進数表しますDecimal 値型は、多数有効な整数小数を必要とし、丸め誤差使用しない財務計算適してます。

10 進数は、符号、値の各範囲が 0 から 9 までの数値数値整数部と小数部を分け浮動小数点位置を示すスケール ファクタ構成される浮動小数点値です。

Decimal 値のバイナリ表現は、1 ビット符号96 ビット整数、および 96 ビット整数値を除算し、小数部を指定するために使用するスケール ファクタ構成されます。スケール ファクタは、暗黙数値 10 になり、0 から 28範囲指数累乗されます。したがってDecimal 値のバイナリ表現は、((-296 ~ 296) / 10(0 ~ 28)) の形式です。-296-1 は MinValue に等しく、296-1 は MaxValue に等しい値です。

スケール ファクタでは、Decimal 数値内の後続ゼロ保持されます。後続ゼロは、算術演算または比較演算では Decimal 数値の値に影響しません。ただし、適切な書式指定文字列適用すると、後続ゼロToString メソッドによって確認できます

変換に関する考慮事項

この型は、Decimal 値を型 Char、SByte、Int16、Int32、Int64、Byte、UInt16、UInt32、および UInt64 に変換したり、その逆方向変換したりするメソッド提供します。他の型から Decimal への変換は、情報失われた例外スローされることのない拡大変換です。

Decimal から他の型への変換は、Decimal 値を 0 方向近似整数値に丸め縮小変換です。変換結果変換先の型で表現できない場合は、OverflowException がスローさます。

この型は、Decimal 値を Single および Double変換したり、その逆方向変換したりするメソッド提供しますDecimal から Single または Double への変換縮小変換であるため、精度失われる可能性ありますが、変換後の値の大きさに関する情報失われることはありません。この変換では例外スローされません。

Single または Double から Decimal への変換では、変換結果Decimal として表すことができない場合OverflowExceptionスローさます。

実装されているインターフェイス

この型は、IComparable、IComparable、IFormattable、IConvertible の各インターフェイス実装ます。この型の明示的な IConvertible インターフェイス メンバ実装代わりにConvert クラス使用します

使用例使用例

Decimal使用するコード例次に示します

' Keeping my fortune in Decimals to avoid the round-off errors.
Class PiggyBank
    Protected MyFortune As Decimal

    Public Sub AddPenny()
        MyFortune = [Decimal].Add(MyFortune, 0.01D)
    End Sub

    Public ReadOnly Property
 Capacity() As Decimal
        Get
            Return [Decimal].MaxValue
        End Get
    End Property

    Public ReadOnly Property
 Dollars() As Decimal
        Get
            Return [Decimal].Floor(MyFortune)
        End Get
    End Property

    Public ReadOnly Property
 Cents() As Decimal
        Get
            Return [Decimal].Subtract(MyFortune, [Decimal].Floor(MyFortune))
        End Get
    End Property

    Public Overrides Function
 ToString() As String
        Return MyFortune.ToString("C")
 + " in piggy bank"
    End Function
End Class
/// <summary>
/// Keeping my fortune in Decimals to avoid the round-off errors.
/// </summary>
class PiggyBank {
    protected decimal MyFortune;

    public void AddPenny() {
        MyFortune = Decimal.Add(MyFortune, .01m);
    }

    public decimal Capacity {
        get {
            return Decimal.MaxValue;
        }
    }

    public decimal Dollars {
        get {
            return Decimal.Floor(MyFortune);
        }
    }

    public decimal Cents {
        get {
            return Decimal.Subtract(MyFortune, Decimal.Floor(MyFortune));
        }
    }

    public override string ToString() {
        return MyFortune.ToString("C")+" in
 piggy bank";
    }
}
   /// <summary>
   /// Keeping my fortune in Decimals to avoid the round-off errors.
   /// </summary>
   public ref class PiggyBank
   {
   protected:
      Decimal MyFortune;

   public:
      void AddPenny()
      {
         MyFortune = System::Decimal::Add( MyFortune, Decimal(.01) );
      }

      System::Decimal Capacity()
      {
         return MyFortune.MaxValue;
      }

      Decimal Dollars()
      {
         return Decimal::Floor( MyFortune );
      }

      Decimal Cents()
      {
         return Decimal::Subtract( MyFortune, Decimal::Floor(
 MyFortune ) );
      }

      virtual System::String^ ToString() override
      {
         return MyFortune.ToString("C")+" in
 piggy bank";
      }
   };
}
/// <summary>
/// Keeping my fortune in Decimals to avoid the round-off errors.
/// </summary>
class PiggyBank
{
    protected System.Decimal myFortune;

    public void AddPenny()
    {
        myFortune = Decimal.Add(myFortune, System.Convert.ToDecimal(0.01));
    } //AddPenny

    /** @property 
     */
    public System.Decimal get_Capacity()
    {
        return Decimal.MaxValue;
    } //get_Capacity

    /** @property 
     */
    public System.Decimal get_Dollars()
    {
        return Decimal.Floor(myFortune);
    } //get_Dollars

    /** @property 
     */
    public System.Decimal get_Cents()
    {
        return Decimal.Subtract(myFortune, Decimal.Floor(myFortune));
    } //get_Cents

    public String ToString()
    {
        return myFortune.ToString("C") + " in
 piggy bank";
    } //ToString
} //PiggyBank
/// <summary>
/// Keeping my fortune in Decimals to avoid the round-off errors.
/// </summary>
class PiggyBank {
    protected var MyFortune : Decimal;

    public function AddPenny() {
        MyFortune = Decimal.Add(MyFortune, 0.01);
    }

    public function get
 Capacity() : Decimal {
            return Decimal.MaxValue;
    }

    public function get
 Dollars() : Decimal {
        return Decimal.Floor(MyFortune);
    }

    public function get
 Cents() : Decimal {
        return Decimal.Subtract(MyFortune, Decimal.Floor(MyFortune));
    }

    public function ToString() : String {
        return MyFortune.ToString("C")+" in piggy
 bank";
    }
}
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Decimal 構造体」の関連用語

Decimal 構造体のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Decimal 構造体のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS