导出 (0) 打印
全部展开
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

Decimal 结构

表示十进制数。

命名空间:  System
程序集:  mscorlib(在 mscorlib.dll 中)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Decimal : IFormattable, IComparable, 
	IConvertible, IDeserializationCallback, IComparable<decimal>, IEquatable<decimal>

Decimal 类型公开以下成员。

  名称说明
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Decimal(Double)Decimal 的新实例初始化为指定的双精度浮点数的值。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Decimal(Int32)Decimal 的新实例初始化为指定的 32 位有符号整数值。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Decimal(Int32[])Decimal 的新实例初始化为以二进制表示的、包含在指定数组中的十进制值。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Decimal(Int64)Decimal 的新实例初始化为指定的 64 位有符号整数值。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Decimal(Single)Decimal 的新实例初始化为指定单精度浮点数字的值。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Decimal(UInt32)Decimal 的新实例初始化为指定的 32 位无符号整数值。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Decimal(UInt64)Decimal 的新实例初始化为指定的 64 位无符号整数值。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Decimal(Int32, Int32, Int32, Boolean, Byte)用指定实例构成部分的参数来初始化 Decimal 的新实例。
页首

  名称说明
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Add两个指定的 Decimal 值相加。
公共方法静态成员受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Ceiling返回大于或等于指定的十进制数的最小整数值。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Compare比较指定的两个 Decimal 值。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持CompareTo(Decimal)将此实例与指定 Decimal 对象进行比较并返回一个对二者的相对值的比较。
公共方法由 XNA Framework 提供支持CompareTo(Object)将此实例与指定对象进行比较并返回一个对二者的相对值的比较。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Divide两个指定的 Decimal 值相除。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Equals(Decimal)返回一个值,该值指示此实例和指定的 Decimal 对象是否表示相同的值。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Equals(Object)返回一个值,该值指示此实例和指定的 Object 是否表示相同的类型和值。 (重写 ValueType.Equals(Object)。)
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Equals(Decimal, Decimal)返回一个值,该值指示 Decimal 的两个指定实例是否表示同一个值。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Floor将指定的 Decimal 数字向负无穷方向舍入为最接近的整数。
公共方法静态成员FromOACurrency将指定的 64 位有符号整数(它包含 OLE 自动化货币值)转换为等效的 Decimal 值。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持GetBitsDecimal 的指定实例的值转换为其等效的二进制表示形式。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持GetHashCode返回此实例的哈希代码。 (重写 ValueType.GetHashCode()。)
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持GetType获取当前实例的 Type (继承自 Object。)
公共方法由 XNA Framework 提供支持GetTypeCode返回值类型 DecimalTypeCode
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Multiply两个指定的 Decimal 值相乘。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Negate返回指定的 Decimal 值乘以 -1 的结果。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Parse(String)将数字的字符串表示形式转换为它的等效 Decimal 表示形式。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Parse(String, NumberStyles)将指定样式的数字的字符串表示形式转换为它的等效 Decimal
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Parse(String, IFormatProvider)使用指定的区域性特定的格式信息将数字的字符串表示形式转换为它的 Decimal 等效项。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Parse(String, NumberStyles, IFormatProvider)使用指定样式和区域性特定格式将数字的字符串表示形式转换为其 Decimal 等效项。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Remainder计算两个 Decimal 值相除后的余数。
公共方法静态成员Round(Decimal)将小数值舍入到最接近的整数。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持Round(Decimal, Int32)Decimal 值舍入到指定的小数位数。
公共方法静态成员Round(Decimal, MidpointRounding)将小数值舍入到最接近的整数。 一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。
公共方法静态成员Round(Decimal, Int32, MidpointRounding)将小数值舍入到指定精度。 一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Subtract从一个 Decimal 值中减去指定的另一个这种类型的值。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToByte将指定的 Decimal 的值转换为等效的 8 位无符号整数。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToDouble将指定的 Decimal 的值转换为等效的双精度浮点数。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToInt16将指定的 Decimal 值转换为等效的 16 位有符号整数。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToInt32将指定的 Decimal 值转换为等效的 32 位有符号整数。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToInt64将指定的 Decimal 值转换为等效的 64 位有符号整数。
公共方法静态成员ToOACurrency将指定的 Decimal 值转换为等效的 OLE 自动化货币值,该值包含在一个 64 位有符号整数中。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToSByte将指定的 Decimal 值转换为等效的 8 位有符号整数。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToSingle将指定的 Decimal 的值转换为等效的单精度浮点数字。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToString()将此实例的数值转换为其等效的字符串表示形式。 (重写 ValueType.ToString()。)
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToString(IFormatProvider)使用指定的区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToString(String)使用指定的格式,将此实例的数值转换为它的等效字符串表示形式。
公共方法由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToString(String, IFormatProvider)使用指定的格式和区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToUInt16将指定的 Decimal 的值转换为等效的 16 位无符号整数。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToUInt32将指定的 Decimal 的值转换为等效的 32 位无符号整数。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持ToUInt64将指定的 Decimal 的值转换为等效的 64 位无符号整数。
公共方法静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Truncate返回指定的 Decimal 的整数位,所有小数位均被放弃。
公共方法静态成员受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持TryParse(String, Decimal)将数字的字符串表示形式转换为它的等效 Decimal 表示形式。 一个指示转换是否成功的返回值。
公共方法静态成员受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持TryParse(String, NumberStyles, IFormatProvider, Decimal)使用指定样式和区域性特定格式将数字的字符串表示形式转换为其 Decimal 等效项。 一个指示转换是否成功的返回值。
页首

  名称说明
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Addition两个指定的 Decimal 值相加。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Decrement Decimal 操作数减 1。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Division两个指定的 Decimal 值相除。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Equality返回一个值,该值指示两个 Decimal 值是否相等。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to Byte)定义从 Decimal 到 8 位无符号整数的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to UInt16)定义从 Decimal 到 16 位无符号整数的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to SByte)定义从 Decimal 到 8 位有符号整数的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to Int16)定义从 Decimal 到 16 位有符号整数的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to Single)定义从 Decimal 到单精度浮点数的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to Double)定义从 Decimal 到双精度浮点数的显式转换。
公共运算符静态成员受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to Char)定义从 Decimal 到 Unicode 字符的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to UInt64)定义从 Decimal 到 64 位无符号整数的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to Int32)定义从 Decimal 到 32 位有符号整数的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to UInt32)定义从 Decimal 到 32 位无符号整数的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Decimal to Int64)定义从 Decimal 到 64 位有符号整数的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Double to Decimal)定义从双精度浮点数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Explicit(Single to Decimal)定义从单精度浮点数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持GreaterThan返回一个值,该值指示指定的 Decimal 是否大于另一个指定的 Decimal
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持GreaterThanOrEqual返回一个值,该值指示指定的 Decimal 是否大于等于另一个指定的 Decimal
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Implicit(Byte to Decimal)定义从 8 位无符号整数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Implicit(Char to Decimal)定义从 Unicode 字符到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Implicit(Int16 to Decimal)定义从 16 位有符号整数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Implicit(Int32 to Decimal)定义从 32 位有符号整数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Implicit(Int64 to Decimal)定义从 64 位有符号整数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Implicit(SByte to Decimal)定义从 8 位有符号整数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Implicit(UInt16 to Decimal)定义从 16 位无符号整数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Implicit(UInt32 to Decimal)定义从 32 位无符号整数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Implicit(UInt64 to Decimal)定义从 64 位无符号整数到 Decimal 的显式转换。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持IncrementDecimal 操作数增加 1。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Inequality返回一个值,该值指示两个 Decimal 对象是否具有不同的值。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持LessThan返回一个值,该值指示指定的 Decimal 是否小于另一个指定的 Decimal
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持LessThanOrEqual返回一个值,该值指示指定的 Decimal 是小于还是等于另一个指定的 Decimal
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Modulus返回两个指定 Decimal 值相除所得的余数。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Multiply两个指定的 Decimal 值相乘。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Subtraction两个指定的 Decimal 值相减。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持UnaryNegation对指定 Decimal 操作数的值求反。
公共运算符静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持UnaryPlus返回 Decimal 操作数的值(操作数符号不变)。
页首

  名称说明
公共字段静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持MaxValue表示 Decimal 的最大可能值。 该字段是常数且为只读。
公共字段静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持MinusOne表示数字负一 (-1)。
公共字段静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持MinValue表示 Decimal 的最小可能值。 该字段是常数且为只读。
公共字段静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持One表示数字一 (1)。
公共字段静态成员由 XNA Framework 提供支持受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持Zero表示数字零 (0)。
页首

  名称说明
显式接口实现私有方法受 可移植类库 支持受 适用于 Windows 应用商店应用的 .NET 支持IComparable.CompareTo将当前实例与同一类型的另一个对象进行比较,并返回一个整数,该整数指示当前实例在排序顺序中的位置是位于另一个对象之前、之后还是与其位置相同。
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToBoolean基础结构。有关此成员的说明,请参见 IConvertible.ToBoolean
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToByte基础结构。有关此成员的说明,请参见 IConvertible.ToByte
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToChar基础结构。不支持此转换。 尝试使用此方法将引发 InvalidCastException
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToDateTime基础结构。不支持此转换。 尝试使用此方法将引发 InvalidCastException
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToDecimal基础结构。有关此成员的说明,请参见 IConvertible.ToDecimal
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToDouble基础结构。有关此成员的说明,请参见 IConvertible.ToDouble
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToInt16基础结构。有关此成员的说明,请参见 IConvertible.ToInt16
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToInt32基础结构。有关此成员的说明,请参见 IConvertible.ToInt32
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToInt64基础结构。有关此成员的说明,请参见 IConvertible.ToInt64
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToSByte基础结构。有关此成员的说明,请参见 IConvertible.ToSByte
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToSingle基础结构。有关此成员的说明,请参见 IConvertible.ToSingle
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToType基础结构。有关此成员的说明,请参见 IConvertible.ToType
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToUInt16基础结构。有关此成员的说明,请参见 IConvertible.ToUInt16
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToUInt32基础结构。有关此成员的说明,请参见 IConvertible.ToInt32
显式接口实现私有方法由 XNA Framework 提供支持IConvertible.ToUInt64基础结构。有关此成员的说明,请参见 IConvertible.ToInt64
显式接口实现私有方法IDeserializationCallback.OnDeserialization基础结构。在对象的反序列化完成时运行。
页首

Decimal 值类型表示介于 +79,228,162,514,264,337,593,543,950,335 到 -79,228,162,514,264,337,593,543,950,335之间的十进制数字。 Decimal 值类型适用于要求使用大量有效的整数及小数位数并且没有舍入错误的财务计算。 Decimal 类型不会消除对舍入的需要, 而是将因舍入而导致的错误降到最少。 例如,下面的代码产生结果 0.9999999999999999999999999999 而不是 1。


decimal dividend = Decimal.One;
decimal divisor = 3;
// The following displays 0.9999999999999999999999999999 to the console
Console.WriteLine(dividend/divisor * divisor);   


当将除法和乘法的结果传递至 Round 方法时,该结果的精度不会有损失,如下面的代码所示。


decimal dividend = Decimal.One;
decimal divisor = 3;
// The following displays 1.00 to the console
Console.WriteLine(Math.Round(dividend/divisor * divisor, 2));   


十进制数是由符号、数值和比例因子组成的浮点值,数值的每一位的范围都是 0 到 9,比例因子指示分隔数值的整数和小数部分的浮点小数点的位置。

Decimal 值的二进制表示形式由 1 位符号、96 位整数以及比例因子组成,比例因子用作 96 位整数的除数并指定整数的哪一部分为小数。 比例因子隐式地定为数字 10 的幂,指数范围从 0 到 28。 因此,Decimal 值的二进制表示的形式为((-296 至 296)/ 10(0 到 28)),其中 -296-1 等于 MinValue,296-1 等于 MaxValue 有关以下内容的详细信息 Decimal 值和示例的二进制表示形式,请参见 Decimal(Int32[]) 构造函数和 GetBits 方法。

缩放因子还保留 Decimal 数字中的所有尾随零。 在算术或比较运算中,尾随零并不影响 Decimal 数字的值。 但是,如果应用了正确的格式字符串,则可由 ToString 方法显示尾随零。

转换注意事项

此类型提供将 Decimal 值转换为 SByteInt16Int32Int64ByteUInt16UInt32UInt64 从这些整型到 Decimal 的转换属于扩大转换,不会丢失信息或引发异常。

Decimal 到任意整型的转换属于收缩转换,会将 Decimal 值向零舍入为最接近的整数值。 某些语言(如 C#)也支持从 Decimal 值到 Char 值的转换。 如果无法以目标类型表示这些转换的结果,则会引发 OverflowException

Decimal 类型也提供将 Decimal 值转换为 SingleDouble DecimalSingleDouble 的转换属于收缩转换,可能会丢失精度,但不会丢失所转换值的数量大小信息。 转化不会引发异常。

如果从 SingleDoubleDecimal 的转换的结果无法表示为 Decimal,则将引发 OverflowException

对十进制值执行操作

Decimal 类型支持标准数学运算,如加法、减法、除法、乘法、减法、求反和一元求反。 还可以直接与 Decimal 值的二进制表示形式和在调用 GetBits 方法旁边。

您可以使用标准数值运算符对两个 Decimal 值进行比较,或者,您可以调用 CompareToEquals 方法。

还可以调用 Math 选件类的成员执行广泛的数字操作,包括获取数字的绝对值,该值确定两个 Decimal 值,获取数字符号和舍入数字的上限或最小值。

下面的代码示例演示了 Decimal 的用法。


	/// <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";
		}
	}


.NET Framework

受以下版本支持:4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8

适用于 Windows Phone 应用的 .NET

受以下版本支持:Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参阅.NET Framework 系统要求

此类型的所有成员都是线程安全的。 看似修改了实例状态的成员实际上返回一个用新值实例化的新实例。 正如对任何其他类型一样,对于包含此类型的实例的共享变量,也必须通过锁定来保护对其进行的读写,以保证实现线程安全。

警告说明警告

在所有的硬件平台上都分配该类型的一个实例不是线程安全的,因为该实例的二进制表示形式可能太大,无法在单个原子操作中分配。

社区附加资源

添加
Microsoft 正在进行一项网上调查,以了解您对 MSDN 网站的意见。 如果您选择参加,我们将会在您离开 MSDN 网站时向您显示该网上调查。

是否要参加?
显示:
© 2014 Microsoft