C# Math.Clamp() – Examples
In this tutorial, we will learn about the C# Math.Clamp() method, and learn how to use this method to clamp a value if it is out of the given range [min, max] with the help of examples.
Clamp(Byte value, Byte min, Byte max)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type Byte.
If value
lies in between min
and max
, i.e., min <= value <= max
, then Clamp() method returns value
as result.
If value
is less than min
, i.e., value <= min <= max
, then Clamp() method returns min
as result.
If value
is greater than max
, i.e., min <= max <= value
, then Clamp() method returns max
as result.
Syntax
The syntax of Clamp() method is
Math.Clamp(Byte value, Byte min, Byte max)
where
Parameter | Description |
---|---|
value | The Byte value to be clamped. |
min | The lower bound of the result. |
max | The upper bound of the result. |
Return Value
The method returns clamped value of type Byte.
Example 1 – Clamp(value, min, max)
In this example, we will take specific values for min and max; and find the clamping values for some Byte values, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
Byte value, min, max, result;
min = 2;
max = 8;
value = 5; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 1; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 9; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5, 2, 8) = 5
Clamp(1, 2, 8) = 2
Clamp(9, 2, 8) = 8
Clamp(Decimal, Decimal, Decimal)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type Decimal.
Syntax
The syntax of Clamp() method is
Math.Clamp(Decimal value, Decimal min, Decimal max)
where
Parameter | Description |
---|---|
value | The Decimal value to be clamped. |
min | The lower bound of the result. |
max | The upper bound of the result. |
Return Value
The method returns clamped value of type Decimal.
Example 2 – Clamp(Decimal, Decimal, Decimal)
In this example, we will take specific values for min and max; and find the clamping values for some Decimal values, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
Decimal value, min, max, result;
min = 2.2M;
max = 8.1M;
value = 5.12M; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2.2M;
max = 8.1M;
value = 1.4M; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2.2M;
max = 8.4M;
value = 9M; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5.12, 2.2, 8.1) = 5.12
Clamp(1.4, 2.2, 8.1) = 2.2
Clamp(9, 2.2, 8.4) = 8.4
Clamp(Double, Double, Double)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type Double.
Syntax
The syntax of Clamp() method is
Math.Clamp(Double value, Double min, Double max)
where
Parameter | Description |
---|---|
value | The Double value to be clamped. |
min | The lower bound of the result. |
max | The upper bound of the result. |
Return Value
The method returns clamped value of type Double.
Example 3 – Clamp(Double, Double, Double)
In this example, we will take some specific values for min and max; and find the clamping values for some double-point precision floating values, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
Double value, min, max, result;
min = 2.2;
max = 8.1;
value = 5.12; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2.2;
max = 8.1;
value = 1.4; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2.2;
max = 8.4;
value = 9; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5.12, 2.2, 8.1) = 5.12
Clamp(1.4, 2.2, 8.1) = 2.2
Clamp(9, 2.2, 8.4) = 8.4
Clamp(Int16, Int16, Int16)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type Int16 (or short).
Syntax
The syntax of Clamp() method is
Math.Clamp(Int16 value, Int16 min, Int16 max)
where
Parameter | Description |
---|---|
value | The Int16 value to be clamped. |
min | The lower bound of the result. |
max | The upper bound of the result. |
Return Value
The method returns clamped value of type Int16.
Example 4 – Clamp(Int16, Int16, Int16)
In this example, we will take some specific values for min and max; and find the clamping values for some 16-bit signed integers, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
Int16 value, min, max, result;
min = 2;
max = 8;
value = 5; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 1; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 9; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5, 2, 8) = 5
Clamp(1, 2, 8) = 2
Clamp(9, 2, 8) = 8
Clamp(Int32, Int32, Int32)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type Int32 (or int).
Syntax
The syntax of Clamp() method is
Math.Clamp(Int32 value, Int32 min, Int32 max)
where
Parameter | Description |
---|---|
value | The Int32 value to be clamped. |
min | The lower bound of the result. |
max | The upper bound of the result. |
Return Value
The method returns clamped value of type Int32.
Example 5 – Clamp(Int32, Int32, Int32)
In this example, we will take some specific values for min and max; and find the clamping values for some 32-bit signed integers, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
Int32 value, min, max, result;
min = 2;
max = 8;
value = 5; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 1; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 9; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5, 2, 8) = 5
Clamp(1, 2, 8) = 2
Clamp(9, 2, 8) = 8
Clamp(Int64, Int64, Int64)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type Int64 (or long).
Syntax
The syntax of Clamp() method is
Math.Clamp(Int64 value, Int64 min, Int64 max)
where
Parameter | Description |
---|---|
value | The Int64 value to be clamped. |
min | The lower bound of the result. |
max | The upper bound of the result. |
Return Value
The method returns clamped value of type Int64.
Example 6 – Clamp(Int64, Int64, Int64)
In this example, we will take some specific values for min and max; and find the clamping values for some 64-bit signed integers, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
Int64 value, min, max, result;
min = 2;
max = 8;
value = 5; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 1; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 9; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5, 2, 8) = 5
Clamp(1, 2, 8) = 2
Clamp(9, 2, 8) = 8
Clamp(SByte, SByte, SByte)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type SByte (8-bit signed integer).
Syntax
The syntax of Clamp() method is
Math.Clamp(SByte value, SByte min, SByte max)
where
Parameter | Description |
---|---|
value | The SByte value to be clamped. |
min | The lower bound of the result. |
max | The upper bound of the result. |
Return Value
The method returns clamped value of type SByte.
Example 7 – Clamp(SByte, SByte, SByte)
In this example, we will take some specific values for min and max; and find the clamping values for some 8-bit signed integers, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
SByte value, min, max, result;
min = 2;
max = 8;
value = 5; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 1; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 9; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5, 2, 8) = 5
Clamp(1, 2, 8) = 2
Clamp(9, 2, 8) = 8
Clamp(Single, Single, Single)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type Single.
Syntax
The syntax of Clamp() method is
Math.Clamp(Single value, Single min, Single max)
where
Parameter | Description |
---|---|
value | The Single value to be clamped. |
min | The lower bound of the result. |
max | The upper bound of the result. |
Return Value
The method returns clamped value of type Single.
Example 8 – Clamp(Single, Single, Single)
In this example, we will take some specific values for min and max; and find the clamping values for some single-precision floating-point numbers, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
Single value, min, max, result;
min = 2.1F;
max = 8.2F;
value = 5.7F; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2.1F;
max = 8.2F;
value = 1.4F; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2.1F;
max = 8.2F;
value = 9.3F; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5.7, 2.1, 8.2) = 5.7
Clamp(1.4, 2.1, 8.2) = 2.1
Clamp(9.3, 2.1, 8.2) = 8.2
Clamp(UInt16, UInt16, UInt16)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type UInt16.
Syntax
The syntax of Clamp() method is
Math.Clamp(UInt16 value, UInt16 min, UInt16 max)
where
Parameter | Description |
---|---|
value | The UInt16 value to be clamped. 16-bit unsigned integer. |
min | The lower bound of the result. 16-bit unsigned integer. |
max | The upper bound of the result. 16-bit unsigned integer. |
Return Value
The method returns clamped value of type UInt16.
Example 9 – Clamp(UInt16, UInt16, UInt16)
In this example, we will take some specific values for min and max; and find the clamping values for some 16-bit unsigned integers, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
UInt16 value, min, max, result;
min = 2;
max = 8;
value = 5; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 1; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 9; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5, 2, 8) = 5
Clamp(1, 2, 8) = 2
Clamp(9, 2, 8) = 8
Clamp(UInt32, UInt32, UInt32)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type UInt32.
Syntax
The syntax of Clamp() method is
Math.Clamp(UInt32 value, UInt32 min, UInt32 max)
where
Parameter | Description |
---|---|
value | The value to be clamped. 32-bit unsigned integer. |
min | The lower bound of the result. 32-bit unsigned integer. |
max | The upper bound of the result. 32-bit unsigned integer. |
Return Value
The method returns clamped value of type UInt32.
Example 10 – Clamp(UInt32, UInt32, UInt32)
In this example, we will take some specific values for min and max; and find the clamping values for some 32-bit unsigned integers, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
UInt32 value, min, max, result;
min = 2;
max = 8;
value = 5; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 1; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 9; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5, 2, 8) = 5
Clamp(1, 2, 8) = 2
Clamp(9, 2, 8) = 8
Clamp(UInt64, UInt64, UInt64)
Math.Clamp(value, min, max) returns value
clamped to the inclusive range of min
and max
where value
, min
and max
are values of type UInt64.
Syntax
The syntax of Clamp() method is
Math.Clamp(UInt64 value, UInt64 min, UInt64 max)
where
Parameter | Description |
---|---|
value | The value to be clamped. 64-bit unsigned integer. |
min | The lower bound of the result. 64-bit unsigned integer. |
max | The upper bound of the result. 64-bit unsigned integer. |
Return Value
The method returns clamped value of type UInt64.
Example 11 – Clamp(UInt64, UInt64, UInt64)
In this example, we will take some specific values for min and max; and find the clamping values for some 64-bit unsigned integers, using Math.Clamp() method.
C# Program
using System;
class Example {
static void Main(string[] args) {
UInt64 value, min, max, result;
min = 2;
max = 8;
value = 5; // min <= value <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 1; // value <= min <= max
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
min = 2;
max = 8;
value = 9; // min <= max <= value
result = Math.Clamp(value, min, max);
Console.WriteLine($"Clamp({value}, {min}, {max}) = {result}");
}
}
Output
Clamp(5, 2, 8) = 5
Clamp(1, 2, 8) = 2
Clamp(9, 2, 8) = 8
Conclusion
In this C# Tutorial, we have learnt the syntax of C# Math.Clamp() method, and also learnt how to use this method with the help of C# example programs.