Math.Abs 方法

定义

返回指定数字的绝对值。

重载

Abs(Decimal)

返回 Decimal 数字的绝对值。

Abs(Double)

返回双精度浮点数字的绝对值。

Abs(Int16)

返回 16 位有符号整数的绝对值。

Abs(Int32)

返回 32 位有符号整数的绝对值。

Abs(Int64)

返回 64 位有符号整数的绝对值。

Abs(IntPtr)

返回本机带符号整数的绝对值。

Abs(SByte)

返回 8 位有符号整数的绝对值。

Abs(Single)

返回单精度浮点数字的绝对值。

Abs(Decimal)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

返回 Decimal 数字的绝对值。

C#
public static decimal Abs(decimal value);

参数

value
Decimal

大于或等于 Decimal.MinValue 但小于或等于 Decimal.MaxValue 的数字

返回

十进制数 x,使 0 ≤ x ≤ Decimal.MaxValue

示例

以下示例使用 Abs(Decimal) 方法获取多个 Decimal 值的绝对值。

C#
decimal[] decimals = { Decimal.MaxValue, 12.45M, 0M, -19.69M,
                       Decimal.MinValue };
foreach (decimal value in decimals)
   Console.WriteLine($"Abs({value}) = {Math.Abs(value)}");

// The example displays the following output:
//       Abs(79228162514264337593543950335) = 79228162514264337593543950335
//       Abs(12.45) = 12.45
//       Abs(0) = 0
//       Abs(-19.69) = 19.69
//       Abs(-79228162514264337593543950335) = 79228162514264337593543950335

注解

Decimal 绝对值是其不带符号的数值。 例如,1.2 和 -1.2 的绝对值为 1.2。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Abs(Double)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

返回双精度浮点数字的绝对值。

C#
public static double Abs(double value);

参数

value
Double

大于或等于 Double.MinValue 但小于或等于 Double.MaxValue 的数字

返回

双精度浮点数 x,使 0 ≤ x ≤ Double.MaxValue

示例

以下示例使用 Abs(Double) 方法获取多个 Double 值的绝对值。

C#
double[] doubles = { Double.MaxValue, 16.354e-17, 15.098123, 0,
                     -19.069713, -15.058e18, Double.MinValue };
foreach (double value in doubles)
   Console.WriteLine($"Abs({value}) = {Math.Abs(value)}");

// The example displays the following output:
//       Abs(1.79769313486232E+308) = 1.79769313486232E+308
//       Abs(1.6354E-16) = 1.6354E-16
//       Abs(15.098123) = 15.098123
//       Abs(0) = 0
//       Abs(-19.069713) = 19.069713
//       Abs(-1.5058E+19) = 1.5058E+19
//       Abs(-1.79769313486232E+308) = 1.79769313486232E+308

注解

Double 绝对值是其不带符号的数值。 例如,1.2e03 和 -1.2e03 的绝对值为 1.2e03。

如果 value 等于 NegativeInfinityPositiveInfinity,则返回值为 PositiveInfinity。 如果 value 等于 NaN,则返回值为 NaN

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Abs(Int16)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

返回 16 位有符号整数的绝对值。

C#
public static short Abs(short value);

参数

value
Int16

大于 Int16.MinValue 但小于或等于 Int16.MaxValue 的数字。

返回

16 位有符号整数 x,使 0 ≤ x ≤ Int16.MaxValue

例外

示例

以下示例使用 Abs(Int16) 方法获取多个 Int16 值的绝对值。

C#
short[] values = { Int16.MaxValue, 10328, 0, -1476, Int16.MinValue };
foreach (short value in values)
{
   try {
      Console.WriteLine($"Abs({value}) = {Math.Abs(value)}");
   }
   catch (OverflowException) {
      Console.WriteLine("Unable to calculate the absolute value of {0}.",
                        value);
   }
}

// The example displays the following output:
//       Abs(32767) = 32767
//       Abs(10328) = 10328
//       Abs(0) = 0
//       Abs(-1476) = 1476
//       Unable to calculate the absolute value of -32768.

注解

Int16 绝对值是其不带符号的数值。 例如,123 和 -123 的绝对值为 123。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Abs(Int32)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

返回 32 位有符号整数的绝对值。

C#
public static int Abs(int value);

参数

value
Int32

大于 Int32.MinValue 但小于或等于 Int32.MaxValue 的数字

返回

一个 32 位有符号整数 x,使 0 ≤ x ≤ Int32.MaxValue

例外

示例

以下示例使用 Abs(Int32) 方法获取多个 Int32 值的绝对值。

C#
int[] values = { Int32.MaxValue, 16921, 0, -804128, Int32.MinValue };
foreach (int value in values)
{
   try {
      Console.WriteLine($"Abs({value}) = {Math.Abs(value)}");
   }
   catch (OverflowException) {
      Console.WriteLine("Unable to calculate the absolute value of {0}.",
                        value);
   }
}

// The example displays the following output:
//       Abs(2147483647) = 2147483647
//       Abs(16921) = 16921
//       Abs(0) = 0
//       Abs(-804128) = 804128
//       Unable to calculate the absolute value of -2147483648.

注解

Int32 绝对值是其不带符号的数值。 例如,123 和 -123 的绝对值为 123。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Abs(Int64)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

返回 64 位有符号整数的绝对值。

C#
public static long Abs(long value);

参数

value
Int64

大于 Int64.MinValue 但小于或等于 Int64.MaxValue 的数字

返回

一个 64 位有符号整数 x,使 0 ≤ x ≤ Int64.MaxValue

例外

示例

以下示例使用 Abs(Int64) 方法获取多个 Int64 值的绝对值。

C#
long[] values = { Int64.MaxValue, 109013, 0, -6871982, Int64.MinValue };
foreach (long value in values)
{
   try {
      Console.WriteLine($"Abs({value}) = {Math.Abs(value)}");
   }
   catch (OverflowException) {
      Console.WriteLine("Unable to calculate the absolute value of {0}.",
                        value);
   }
}

// The example displays the following output:
//       Abs(9223372036854775807) = 9223372036854775807
//       Abs(109013) = 109013
//       Abs(0) = 0
//       Abs(-6871982) = 6871982
//       Unable to calculate the absolute value of -9223372036854775808.

注解

Int64 绝对值是其不带符号的数值。 例如,123 和 -123 的绝对值为 123。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Abs(IntPtr)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

返回本机带符号整数的绝对值。

C#
public static IntPtr Abs(IntPtr value);
C#
public static nint Abs(nint value);

参数

value

nint

一个大于 MinValue 但小于或等于 MaxValue 的数字。

返回

IntPtr

本机带符号整数 x,因此 0 ≤ x ≤ MaxValue

适用于

.NET 10 和其他版本
产品 版本
.NET 6, 7, 8, 9, 10

Abs(SByte)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

重要

此 API 不符合 CLS。

返回 8 位有符号整数的绝对值。

C#
[System.CLSCompliant(false)]
public static sbyte Abs(sbyte value);

参数

value
SByte

大于 SByte.MinValue 但小于或等于 SByte.MaxValue 的数字

返回

一个 8 位有符号整数 x,使 0 ≤ x ≤ SByte.MaxValue

属性

例外

示例

以下示例使用 Abs(SByte) 方法获取多个 SByte 值的绝对值。

C#
sbyte[] values = { SByte.MaxValue, 98, 0, -32, SByte.MinValue };
foreach (sbyte value in values)
{
   try {
      Console.WriteLine($"Abs({value}) = {Math.Abs(value)}");
   }
   catch (OverflowException) {
      Console.WriteLine("Unable to calculate the absolute value of {0}.",
                        value);
   }
}

// The example displays the following output:
//       Abs(127) = 127
//       Abs(98) = 98
//       Abs(0) = 0
//       Abs(-32) = 32
//       Unable to calculate the absolute value of -128.

注解

有符号字节的绝对值是其不带符号的数值。 例如,12 和 -12 的绝对值为 12。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Abs(Single)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

返回单精度浮点数字的绝对值。

C#
public static float Abs(float value);

参数

value
Single

大于或等于 Single.MinValue 但小于或等于 Single.MaxValue 的数字

返回

单精度浮点数 x,使 0 ≤ x ≤ Single.MaxValue

示例

以下示例使用 Abs(Single) 方法获取多个 Single 值的绝对值。

C#
float[] values= { Single.MaxValue, 16.354e-12F, 15.098123F, 0F,
                  -19.069713F, -15.058e17F, Single.MinValue };
foreach (float value in values)
   Console.WriteLine($"Abs({value}) = {Math.Abs(value)}");

// The example displays the following output:
//       Abs(3.402823E+38) = 3.402823E+38
//       Abs(1.6354E-11) = 1.6354E-11
//       Abs(15.09812) = 15.09812
//       Abs(0) = 0
//       Abs(-19.06971) = 19.06971
//       Abs(-1.5058E+18) = 1.5058E+18
//       Abs(-3.402823E+38) = 3.402823E+38

注解

Single 绝对值是其不带符号的数值。 例如,1.2e-03 和 -1.2e03 的绝对值为 1.2e03。

如果 value 等于 NegativeInfinityPositiveInfinity,则返回值为 PositiveInfinity。 如果 value 等于 NaN,则返回值为 NaN

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0