수학 간의 차이.바닥() 및 수학.잘라내기()
와 의 차이점은 무엇입니까?NET?
Math.Floor라운드 다운,Math.Ceiling 반림올, 그고리고.Math.Truncate0을 향한 라운드따라서,Math.Truncate는 것과 같은Math.Floor양에대해서, 고좋요아그처럼.Math.Ceiling음수의 경우여기 참고 자료가 있습니다.
를 위해서, 완도를위서해성,,Math.Round가장 가까운 정수로 반올림합니다.숫자가 정확히 두 정수 사이의 중간에 있으면 짝수를 향해 반올림합니다.참조.
MSDN에 대한 설명은 다음 링크를 따릅니다.
Math.Floor음의 무한대를 향해 반올림합니다.Math.Ceiling양의 무한대를 향해 반올림합니다.Math.Truncate0을 향해 위로 또는 아래로 반올림합니다.Math.Round가장 가까운 정수 또는 지정된 소수 자릿수로 반올림합니다.마지막 자리가 짝수가 되도록 반올림하는 것과 같이 두 가능성 사이에 정확히 같은 거리에 있는 경우 동작을 지정할 수 있습니다("Round(2.5,MidpointRounding.ToEven)2) 또는 0에서 더 멀리 떨어져 있는 것("Round(2.5,MidpointRounding.AwayFromZero)이 되다, 3)이 되다.
다음 다이어그램과 표는 도움이 될 수 있습니다.
-3 -2 -1 0 1 2 3
+--|------+---------+----|----+--|------+----|----+-------|-+
a b c d e
a=-2.7 b=-0.5 c=0.3 d=1.5 e=2.8
====== ====== ===== ===== =====
Floor -3 -1 0 1 2
Ceiling -2 0 1 2 3
Truncate -2 0 0 1 2
Round (ToEven) -3 0 0 2 3
Round (AwayFromZero) -3 -1 0 2 3
:Round단순히 소수점 이하의 특정 숫자로 반올림할 수 있기 때문에 보이는 것보다 훨씬 강력합니다.다른 모든 것들은 소수점 이하 0점 이하로 반올림합니다.예:
n = 3.145;
a = System.Math.Round (n, 2, MidpointRounding.ToEven); // 3.14
b = System.Math.Round (n, 2, MidpointRounding.AwayFromZero); // 3.15
다른 기능을 사용할 때는 곱셈/나눗셈 트릭을 사용해야 동일한 효과를 얻을 수 있습니다.
c = System.Math.Truncate (n * 100) / 100; // 3.14
d = System.Math.Ceiling (n * 100) / 100; // 3.15
Math.Floor()음의 무한대를 향한 라운드
Math.Truncate0을 향해 위로 또는 아래로 반올림합니다.
예:
Math.Floor(-3.4) = -4
Math.Truncate(-3.4) = -3
하는 동안에
Math.Floor(3.4) = 3
Math.Truncate(3.4) = 3
Math.floor왼쪽으로 미끄러져...
Math.ceil오른쪽으로 미끄러져...
Math.truncate이 항상을 향함), criii는 croooose (발목/발목이 0을 향함
Math.round차차, 정말 부드럽게... 쪽으로 장가까쪽으로이동운가이))
일하러 가요! (⌐□_□)
왼쪽으로... Math.floor
지금 당장 돌려받으세요, 여러분... --
이번엔 홉이 두 개... -=2
모두 손뼉을 쳐요 ✋✋
얼마나 저속해질 수 있지?아래로 내려갈 수 있습니까?까지 쭉.floor?
if (this == "wrong")
return "i don't wanna be right";
Math.truncate(x)또한 와 동일합니다.int(x).
양의 또는 음의 분수를 제거함으로써, 당신은 항상 0을 향합니다.
몇 가지 예:
Round(1.5) = 2
Round(2.5) = 2
Round(1.5, MidpointRounding.AwayFromZero) = 2
Round(2.5, MidpointRounding.AwayFromZero) = 3
Round(1.55, 1) = 1.6
Round(1.65, 1) = 1.6
Round(1.55, 1, MidpointRounding.AwayFromZero) = 1.6
Round(1.65, 1, MidpointRounding.AwayFromZero) = 1.7
Truncate(2.10) = 2
Truncate(2.00) = 2
Truncate(1.90) = 1
Truncate(1.80) = 1
이들은 양수와 기능적으로 동일합니다.차이점은 그들이 음수를 처리하는 방법에 있습니다.
예:
Math.Floor(2.5) = 2
Math.Truncate(2.5) = 2
Math.Floor(-2.5) = -3
Math.Truncate(-2.5) = -2
MSDN 링크: - 수학.바닥 방법 - 수학.자르기 방법
추신: 수학을 조심하세요.예상했던 것과 다를 수 있습니다.
"표준" 반올림 결과를 얻으려면 다음을 사용합니다.
float myFloat = 4.5;
Console.WriteLine( Math.Round(myFloat) ); // writes 4
Console.WriteLine( Math.Round(myFloat, 0, MidpointRounding.AwayFromZero) ) //writes 5
Console.WriteLine( myFloat.ToString("F0") ); // writes 5
사용해 보십시오. 예:
수학. 바닥() 대 수학.잘라내기()
Math.Floor(2.56) = 2
Math.Floor(3.22) = 3
Math.Floor(-2.56) = -3
Math.Floor(-3.26) = -4
Math.Truncate(2.56) = 2
Math.Truncate(2.00) = 2
Math.Truncate(1.20) = 1
Math.Truncate(-3.26) = -3
Math.Truncate(-3.96) = -3
수학도.라운드()
Math.Round(1.6) = 2
Math.Round(-8.56) = -9
Math.Round(8.16) = 8
Math.Round(8.50) = 8
Math.Round(8.51) = 9
math.floor()
지정한 숫자보다 작거나 같은 가장 큰 정수를 반환합니다.MSDN system.math.floor
math.truncate()
숫자의 적분 부분을 계산합니다.MSDN system.math.truncate
Math.Floor() IEEE 표준 754 섹션 4에 따라 "음의 무한대를 향해" 반올림합니다.
Math.Truncate() 0을 향해 "를 반올림"하여 가장 가까운 정수로 만듭니다.
Math.Floor()지정한 이중 정밀 부동 소수점 숫자보다 작거나 같은 최대 정수를 반환합니다.
Math.Round()값을 가장 가까운 정수 또는 지정된 분수 자릿수로 반올림합니다.
Math.floor() 항상 반올림합니다. 즉, 더 작은 정수를 반환합니다.는 가장 가까운 정수를 반환합니다.
수학. 마루 운동
지정한 숫자보다 작거나 같은 가장 큰 정수를 반환합니다.
수학, 수학,수학
숫자의 적분 부분을 계산합니다.
수학.플로어():
지정된 숫자보다 작거나 같은 가장 큰 정수를 제공합니다.
Math.Floor(3.45) =3
Math.Floor(-3.45) =-4
Math.자르기():
숫자의 소수점을 제거하고 0으로 대체합니다.
Math.Truncate(3.45)=3
Math.Truncate(-3.45)=-3
또한 위의 예를 통해 양의 숫자에 대해 바닥과 잘라내기가 같다는 것을 알 수 있습니다.
잘라내기는 소수점을 삭제합니다.
바닥의 수학적 정의, 즉 "숫자보다 작거나 같은 최대 정수"에 따르면, 이것은 완전히 모호하지 않은 반면, 자르기는 0을 향해 둥근 것과 같은 분수 부분을 제거합니다.
언급URL : https://stackoverflow.com/questions/14/difference-between-math-floor-and-math-truncate
'programing' 카테고리의 다른 글
| 각도 + 재료 - 데이터 원본을 새로 고치는 방법(매트 테이블) (0) | 2023.05.04 |
|---|---|
| 어떤 iOS SDK가 있는지 어떻게 확인합니까? (0) | 2023.05.04 |
| Bash에서 문자열의 각 문자에 대해 for 루프를 수행하는 방법은 무엇입니까? (0) | 2023.05.04 |
| Python 유형 힌트: 입력.매핑 대 입력.딕트 (0) | 2023.05.04 |
| 브라우저에 잘못된 파일 저장소 URL이 표시됨머리글 값 (0) | 2023.04.29 |