C#

C# Math.Clamp - 원하는 범위 안에 숫자를 제한 하기

DragonTory 2022. 11. 29. 14:35
반응형

C# 원하는 범위 안에 숫자를 제한 하기 - Math.Clamp 메서드

 

변수 범위 제한 함수

Where can I find the "clamp" function ?

How to force a number to be in a range in C#?

 

예전에는 clamp 함수를 만들어 사용 했는데 

그냥 Math.Clamp 메서드를 사용 하면 간단하게 구현 됩니다. 

using System;
int number = Math.Clamp(200, 1, 100);

// number value = 100

 

Result Value  = Math.Clamp(value, min, max);

 

이러면 리턴값은 최소 이하면 최소 값.

최대 이상이면 최대 값을 리턴 합니다. 

 

조건문으로 구현 하자면 아래와 같이 사용 할 수 있습니다. 

 

T Clamp<T>(T number, T min, T max)
{		
	return ((dynamic)number <= min) ? min : ((dynamic)number >= max) ? max: number;
}

또는,

public int Clamp(int value, int min, int max)
{
    return Math.Min(max, Math.Max(value, min));
}

 

반응형