在C#中,十进制结构类用于表示十进制浮点数。十进制数的范围是+79,228,162,514,264,337,593,543,950,335至-79,228,162,514,264,337,593,543,950,335由于其范围广泛,因此通常用于财务计算,该计算需要大量有效的整数和小数位数,并且没有舍入误差。您还可以对小数类型执行数学运算,例如加法,减法,除法,乘法等。
建设者
Constructor | Description |
---|---|
Decimal(Double) | Initializes a new instance of Decimal to the value of the specified double-precision floating-point number. |
Decimal(Int32) | Initializes a new instance of Decimal to the value of the specified 32-bit signed integer. |
Decimal(Int32[]) | Initializes a new instance of Decimal to a decimal value represented in binary and contained in a specified array. |
Decimal(Int64) | Initializes a new instance of Decimal to the value of the specified 64-bit signed integer. |
Decimal(Single) | Initializes a new instance of Decimal to the value of the specified single-precision floating-point number. |
Decimal(UInt32) | Initializes a new instance of Decimal to the value of the specified 32-bit unsigned integer. |
Decimal(UInt64) | Initializes a new instance of Decimal to the value of the specified 64-bit unsigned integer. |
Decimal(Int32, Int32, Int32, Boolean, Byte) | Initializes a new instance of Decimal from parameters specifying the instance’s constituent parts. |
领域
Field | Description |
---|---|
MaxValue | Represents the largest possible value of Decimal. This field is constant and read-only. |
MinusOne | Represents the number negative one (-1). |
MinValue | Represents the smallest possible value of Decimal. This field is constant and read-only. |
One | Represents the number one (1). |
Zero | Represents the number zero (0). |
例子:
// C# program to illustrate the
// use of MaxValue and MinValue field
using System;
public class GFG {
// Main method
static public void Main()
{
// Display the Minimum and Maximum values
Console.WriteLine("Display Maximum value "+
"of Decimal: {0}", Decimal.MaxValue);
Console.WriteLine("Display Minimum value of "+
"Decimal: {0}", Decimal.MinValue);
}
}
输出:
Display Maximum value of Decimal: 79228162514264337593543950335
Display Minimum value of Decimal: -79228162514264337593543950335
方法
Method | Description |
---|---|
Add(Decimal, Decimal) | Adds two specified Decimal values. |
Ceiling(Decimal) | Returns the smallest integral value that is greater than or equal to the specified decimal number. |
Compare(Decimal, Decimal) | Compares two specified Decimal values. |
CompareTo() | Compares this instance to a specified object or Decimal and returns an indication of their relative values. |
Divide(Decimal, Decimal) | Divides two specified Decimal values. |
Equals() | Returns a value indicating whether two instances of Decimal represent the same value. |
Floor(Decimal) | Rounds a specified Decimal number to the closest integer toward negative infinity. |
FromOACurrency(Int64) | Converts the specified 64-bit signed integer, which contains an OLE Automation Currency value, to the equivalent Decimal value. |
GetBits(Decimal) | Converts the value of a specified instance of Decimal to its equivalent binary representation. |
GetHashCode() | Returns the hash code for this instance. |
GetTypeCode() | Returns the TypeCode for value type Decimal. |
Multiply(Decimal, Decimal) | Multiplies two specified Decimal values. |
Negate(Decimal) | Returns the result of multiplying the specified Decimal value by negative one. |
Parse() | Converts the string representation of a number to its Decimal equivalent. |
Remainder(Decimal, Decimal) | Computes the remainder after dividing two Decimal values. |
Round() | Rounds a value to the nearest integer or specified number of decimal places. |
Subtract(Decimal, Decimal) | Subtracts one specified Decimal value from another. |
ToByte(Decimal) | Converts the value of the specified Decimal to the equivalent 8-bit unsigned integer. |
ToDouble(Decimal) | Converts the value of the specified Decimal to the equivalent double-precision floating-point number. |
ToInt16(Decimal) | Converts the value of the specified Decimal to the equivalent 16-bit signed integer. |
ToInt32(Decimal) | Converts the value of the specified Decimal to the equivalent 32-bit signed integer. |
ToInt64(Decimal) | Converts the value of the specified Decimal to the equivalent 64-bit signed integer. |
ToOACurrency(Decimal) | Converts the specified Decimal value to the equivalent OLE Automation Currency value, which is contained in a 64-bit signed integer. |
ToSByte(Decimal) | Converts the value of the specified Decimal to the equivalent 8-bit signed integer. |
ToSingle(Decimal) | Converts the value of the specified Decimal to the equivalent single-precision floating-point number. |
ToString() | Converts the numeric value of this instance to its equivalent String representation. |
ToUInt16(Decimal) | Converts the value of the specified Decimal to the equivalent 16-bit unsigned integer. |
ToUInt32(Decimal) | Converts the value of the specified Decimal to the equivalent 32-bit unsigned integer. |
ToUInt64(Decimal) | Converts the value of the specified Decimal to the equivalent 64-bit unsigned integer. |
Truncate(Decimal) | Returns the integral digits of the specified Decimal; any fractional digits are discarded. |
TryParse() | Converts the string representation of a number to its Decimal equivalent. A return value indicates whether the conversion succeeded or failed. |
例子:
// C# program to illustrate the
// use of Add(Decimal, Decimal)
// method
using System;
class GFG {
// Main method
static public void Main()
{
// Addition of two Decimal values
// Using Add() method
Decimal val1 = 349;
Decimal val2 = 590;
Decimal result;
result = Decimal.Add(val1, val2);
// Display the result
Console.WriteLine("Addition is: {0}", result);
}
}
输出:
Addition is: 939
运营商
Operator | Description |
---|---|
Addition(Decimal, Decimal) | Adds two specified Decimal values. |
Decrement(Decimal) | Decrements the Decimal operand by one. |
Division(Decimal, Decimal) | Divides two specified Decimal values. |
Equality(Decimal, Decimal) | Returns a value that indicates whether two Decimal values are equal. |
Explicit(Single to Decimal) | Defines an explicit conversion of a single-precision floating-point number to a Decimal. |
Explicit(Double to Decimal) | Defines an explicit conversion of a double-precision floating-point number to a Decimal. |
Explicit(Decimal to UInt32) | Defines an explicit conversion of a Decimal to a 32-bit unsigned integer. |
Explicit(Decimal to UInt16) | Defines an explicit conversion of a Decimal to a 16-bit unsigned integer. |
Explicit(Decimal to Single) | Defines an explicit conversion of a Decimal to a single-precision floating-point number. |
Explicit(Decimal to SByte) | Defines an explicit conversion of a Decimal to an 8-bit signed integer. |
Explicit(Decimal to UInt64) | Defines an explicit conversion of a Decimal to a 64-bit unsigned integer. |
Explicit(Decimal to Int32) | Defines an explicit conversion of a Decimal to a 32-bit signed integer. |
Explicit(Decimal to Int16) | Defines an explicit conversion of a Decimal to a 16-bit signed integer. |
Explicit(Decimal to Double) | Defines an explicit conversion of a Decimal to a double-precision floating-point number. |
Explicit(Decimal to Char) | Defines an explicit conversion of a Decimal to a Unicode character. |
Explicit(Decimal to Byte) | Defines an explicit conversion of a Decimal to an 8-bit unsigned integer. |
Explicit(Decimal to Int64) | Defines an explicit conversion of a Decimal to a 64-bit signed integer. |
GreaterThan(Decimal, Decimal) | Returns a value indicating whether a specified Decimal is greater than another specified Decimal. |
GreaterThanOrEqual(Decimal, Decimal) | Returns a value indicating whether a specified Decimal is greater than or equal to another specified Decimal. |
Implicit(UInt32 to Decimal) | Defines an implicit conversion of a 32-bit unsigned integer to a Decimal. |
Implicit(UInt16 to Decimal) | Defines an implicit conversion of a 16-bit unsigned integer to a Decimal. |
Implicit(SByte to Decimal) | Defines an implicit conversion of an 8-bit signed integer to a Decimal. |
Implicit(Int64 to Decimal) | Defines an implicit conversion of a 64-bit signed integer to a Decimal. |
Implicit(Byte to Decimal) | Defines an implicit conversion of an 8-bit unsigned integer to a Decimal. |
Implicit(Int16 to Decimal) | Defines an implicit conversion of a 16-bit signed integer to a Decimal. |
Implicit(Char to Decimal) | Defines an implicit conversion of a Unicode character to a Decimal. |
Implicit(UInt64 to Decimal) | Defines an implicit conversion of a 64-bit unsigned integer to a Decimal. |
Implicit(Int32 to Decimal) | Defines an implicit conversion of a 32-bit signed integer to a Decimal. |
Increment(Decimal) | Increments the Decimal operand by 1. |
Inequality(Decimal, Decimal) | Returns a value that indicates whether two Decimal objects have different values. |
LessThan(Decimal, Decimal) | Returns a value indicating whether a specified Decimal is less than another specified Decimal. |
LessThanOrEqual(Decimal, Decimal) | Returns a value indicating whether a specified Decimal is less than or equal to another specified Decimal. |
Modulus(Decimal, Decimal) | Returns the remainder resulting from dividing two specified Decimal values. |
Multiply(Decimal, Decimal) | Multiplies two specified Decimal values. |
Subtraction(Decimal, Decimal) | Subtracts two specified Decimal values. |
UnaryNegation(Decimal) | Negates the value of the specified Decimal operand. |
UnaryPlus(Decimal) | Returns the value of the Decimal operand (the sign of the operand is unchanged). |
例子:
// C# program to illustrate the
// use of Decrement and Increment
// operator
using System;
class GFG {
static public void Main()
{
Decimal myval1 = 1000;
Decimal myval2 = 10000;
// Using Decrement operator we decrease myval1 by 1
Console.WriteLine("My value 1 is: {0}", myval1);
Console.WriteLine("Decrease myval1 by 1:{0}", --myval1);
Console.WriteLine();
// Using Increment operator we increase myval2 by 1
Console.WriteLine("My value 2 is: {0}", myval2);
Console.WriteLine("Increase myval2 by 1:{0}", ++myval2);
}
}
输出:
My value 1 is: 1000
Decrease myval1 by 1:999
My value 2 is: 10000
Increase myval2 by 1:10001
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.decimal?view=netframework-4.7.2