# Math.Clamp Method

## Definition

 Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`. Returns `value` clamped to the inclusive range of `min` and `max`.

## Clamp(UInt64, UInt64, UInt64)

Important

This API is not CLS-compliant.

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static System::UInt64 Clamp(System::UInt64 value, System::UInt64 min, System::UInt64 max);``````
``````[System.CLSCompliant(false)]
public static ulong Clamp (ulong value, ulong min, ulong max);``````
``static member Clamp : uint64 * uint64 * uint64 -> uint64``
``Public Shared Function Clamp (value As ULong, min As ULong, max As ULong) As ULong``

#### Parameters

value
UInt64

The value to be clamped.

min
UInt64

The lower bound of the result.

max
UInt64

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.

Attributes

## Clamp(UInt32, UInt32, UInt32)

Important

This API is not CLS-compliant.

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static System::UInt32 Clamp(System::UInt32 value, System::UInt32 min, System::UInt32 max);``````
``````[System.CLSCompliant(false)]
public static uint Clamp (uint value, uint min, uint max);``````
``static member Clamp : uint32 * uint32 * uint32 -> uint32``
``Public Shared Function Clamp (value As UInteger, min As UInteger, max As UInteger) As UInteger``

#### Parameters

value
UInt32

The value to be clamped.

min
UInt32

The lower bound of the result.

max
UInt32

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.

Attributes

## Clamp(UInt16, UInt16, UInt16)

Important

This API is not CLS-compliant.

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static System::UInt16 Clamp(System::UInt16 value, System::UInt16 min, System::UInt16 max);``````
``````[System.CLSCompliant(false)]
public static ushort Clamp (ushort value, ushort min, ushort max);``````
``static member Clamp : uint16 * uint16 * uint16 -> uint16``
``Public Shared Function Clamp (value As UShort, min As UShort, max As UShort) As UShort``

#### Parameters

value
UInt16

The value to be clamped.

min
UInt16

The lower bound of the result.

max
UInt16

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.

Attributes

## Clamp(Single, Single, Single)

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static float Clamp(float value, float min, float max);``````
``public static float Clamp (float value, float min, float max);``
``static member Clamp : single * single * single -> single``
``Public Shared Function Clamp (value As Single, min As Single, max As Single) As Single``

#### Parameters

value
Single

The value to be clamped.

min
Single

The lower bound of the result.

max
Single

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.

-or-

NaN if `value` equals NaN.

## Clamp(SByte, SByte, SByte)

Important

This API is not CLS-compliant.

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static System::SByte Clamp(System::SByte value, System::SByte min, System::SByte max);``````
``````[System.CLSCompliant(false)]
public static sbyte Clamp (sbyte value, sbyte min, sbyte max);``````
``static member Clamp : sbyte * sbyte * sbyte -> sbyte``
``Public Shared Function Clamp (value As SByte, min As SByte, max As SByte) As SByte``

#### Parameters

value
SByte

The value to be clamped.

min
SByte

The lower bound of the result.

max
SByte

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.

Attributes

## Clamp(Int64, Int64, Int64)

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static long Clamp(long value, long min, long max);``````
``public static long Clamp (long value, long min, long max);``
``static member Clamp : int64 * int64 * int64 -> int64``
``Public Shared Function Clamp (value As Long, min As Long, max As Long) As Long``

#### Parameters

value
Int64

The value to be clamped.

min
Int64

The lower bound of the result.

max
Int64

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.

## Clamp(Int32, Int32, Int32)

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static int Clamp(int value, int min, int max);``````
``public static int Clamp (int value, int min, int max);``
``static member Clamp : int * int * int -> int``
``Public Shared Function Clamp (value As Integer, min As Integer, max As Integer) As Integer``

#### Parameters

value
Int32

The value to be clamped.

min
Int32

The lower bound of the result.

max
Int32

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.

## Clamp(Int16, Int16, Int16)

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static short Clamp(short value, short min, short max);``````
``public static short Clamp (short value, short min, short max);``
``static member Clamp : int16 * int16 * int16 -> int16``
``Public Shared Function Clamp (value As Short, min As Short, max As Short) As Short``

#### Parameters

value
Int16

The value to be clamped.

min
Int16

The lower bound of the result.

max
Int16

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.

## Clamp(Double, Double, Double)

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static double Clamp(double value, double min, double max);``````
``public static double Clamp (double value, double min, double max);``
``static member Clamp : double * double * double -> double``
``Public Shared Function Clamp (value As Double, min As Double, max As Double) As Double``

#### Parameters

value
Double

The value to be clamped.

min
Double

The lower bound of the result.

max
Double

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.``

-or-

NaN if `value` equals NaN.

## Clamp(Decimal, Decimal, Decimal)

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static System::Decimal Clamp(System::Decimal value, System::Decimal min, System::Decimal max);``````
``public static decimal Clamp (decimal value, decimal min, decimal max);``
``static member Clamp : decimal * decimal * decimal -> decimal``
``Public Shared Function Clamp (value As Decimal, min As Decimal, max As Decimal) As Decimal``

#### Parameters

value
Decimal

The value to be clamped.

min
Decimal

The lower bound of the result.

max
Decimal

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` <`min`.

-or-

`max` if `max` < `value`.

## Clamp(Byte, Byte, Byte)

Returns `value` clamped to the inclusive range of `min` and `max`.

``````public:
static System::Byte Clamp(System::Byte value, System::Byte min, System::Byte max);``````
``public static byte Clamp (byte value, byte min, byte max);``
``static member Clamp : byte * byte * byte -> byte``
``Public Shared Function Clamp (value As Byte, min As Byte, max As Byte) As Byte``

#### Parameters

value
Byte

The value to be clamped.

min
Byte

The lower bound of the result.

max
Byte

The upper bound of the result.

#### Returns

`value` if `min``value``max`.

-or-

`min` if `value` < `min`.

-or-

`max` if `max` < `value`.