반응형
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
반응형
'programing tip' 카테고리의 다른 글
첫 번째, 마지막, 인덱스 루프의 각도 2ng (0) | 2021.01.10 |
---|---|
객체 배열을 동적으로 할당 (0) | 2021.01.10 |
Java 프로그램에서 SQL count () 쿼리 값에 액세스하는 방법 (0) | 2021.01.10 |
SQLite 삽입이 매우 느립니까? (0) | 2021.01.10 |
자바 HashSet 대 HashMap (0) | 2021.01.10 |