programing tip

C #에서 가장 가까운 정수로 float를 반올림하려면 어떻게합니까?

itbloger 2021. 1. 10. 16:56
반응형

C #에서 가장 가까운 정수로 float를 반올림하려면 어떻게합니까?


C #에서 float를 가장 가까운 int로 반올림하는 방법은 무엇입니까?

Math.Ceiling 및 Math.Round가 표시되지만 소수점을 반환합니다. 이 중 하나를 사용하고 Int로 캐스트합니까?


가장 가까운 정수 로 반올림하려면 다음을 수행하십시오 .

int rounded = (int)Math.Round(precise, 0);

다음을 사용할 수도 있습니다.

int rounded = Convert.ToInt32(precise);

어느 사용할 Math.Round(x, 0);당신을위한 라운드 캐스트에. 깔끔해 보이지만 IMO는 약간 덜 명확합니다.


반올림 하려면 다음을 수행하십시오.

int roundedUp = (int)Math.Ceiling(precise);

내 머리 위로 :

float fl = 0.678;
int rounded_f = (int)(fl+0.5f);

(int) Math.Round (myNumber, 0)


가장 쉬운 방법은 추가 0.5f하고이를 int로 캐스트하는 것입니다.


이 중 하나를 사용하고 Int로 캐스트합니까?

예. 그렇게하는 데 문제가 없습니다. 10 진수와 double은 정수를 정확하게 나타낼 수 있으므로 표현 오류가 없습니다. (예를 들어 Round가 5 대신 4.999 ...를 반환하는 경우는 발생하지 않습니다.)


int (Int32.MinValue에서 Int32.MaxValue까지)의 범위에 있다고 확신하는 경우 int로 캐스팅 할 수 있습니다.

참조 URL : https://stackoverflow.com/questions/904910/how-do-i-round-a-float-up-to-the-nearest-int-in-c

반응형