MVC3 C# .Net 웹 응용 프로그램이 있습니다. 계산 결과는 158 * 1.75 = 276.5입니다. 나는이 숫자를 최대 277까지 내고 싶다. 나는 Math.Round를 사용하고 있지만 반올림한다. 나는 어딘가에서이 문제를 보았다. 해결책은 무엇입니까?C#에서 반올림. NET
답변
사용하십시오 MidpointRounding
Math.Round(276.5, MidpointRounding.AwayFromZero);
데모 걸리는 overload : http://ideone.com/sQ26z
+1이어야 보상 할 수 있습니다. – NominSim
형식 문자열을 사용하여 숫자를 십진수가 0 인 문자열 표현으로 변환하면 'string output = (276.5) .ToString ("F0");'이고, 제로 규칙도 사용됩니다. 나는 숫자를 문자열 형식으로 지정할 때 to-even 규칙이 사용 된 적이 없다고 생각합니다. –
+1 ... 또한 dup는 모든 사례를 자세히 다룹니다. –
사용 :
Math.Round(value, MidpointRounding.AwayFromZero);
.NET은 은행 '반올림을 사용합니다 기본적으로; 5로 끝나는 값을 가장 가까운 유효 자릿수로 반올림하고 항상 올리는 것은 아닙니다 ("의미 산술 올림"이라고 함). 그 이유는 무작위로 10 진수를 뭉치고 합쳐서 뱅커의 라운딩을 사용할 때 산술적으로 반올림 된 숫자의 합보다 합계가 더 가까운 숫자가 더 가까워지기 때문입니다.
이미 언급했듯이Math.Round(myNumber, MidpointRounding.AwayFromZero);
, 당신은 Math.Round(d, MidpointRounding.AwayFromZero)
를 사용할 수 있습니다
는 MidpointROunding 열거 값을 받아들이는 과부하를 사용, 학년 학교 반올림 규칙을 사용하도록 강제합니다.
기본적으로는 .NET은 소위를 사용 bankers rounding (또는 MidpointRounding.ToEven
)
- 1. C에서 다음 .05로 반올림
- 2. C에서 십진수 값 반올림
- 3. Objective-C에서 반올림 숫자
- 4. C에서 소수점 형식의 사용자 정의 반올림
- 5. 반올림 된 반올림 도면
- 6. C에서 .NET 객체 작성하기?
- 7. 자바 스크립트 반올림 v 반올림
- 8. 정수로 반올림 - 제어 필드 반올림?
- 9. 목표 C에서 더 큰 값으로 반올림 한 값
- 10. .NET/C에서 Oracle DB에 연결 #
- 11. C에서 C# (.NET) API 호출
- 12. 반올림 문제가
- 13. VB.NET에서 반올림
- 14. 반올림 다각형
- 15. 숫자 반올림
- 16. 정수로 "반올림"
- 17. Silverlight에서 반올림
- 18. DataGridView 반올림
- 19. 파이썬 - 반올림
- 20. 반올림 - 수십
- 21. 액세스 반올림
- 22. 십진수를 반투명하고 다음 백수로 반올림
- 23. 십진수를 가장 가까운 0.05로 반올림 하시겠습니까?
- 24. 네이티브 C에서 .NET 관리 코드 호출
- 25. Objective-C에서 .NET 웹 서비스 사용 [iPhone]
- 26. .Net 및 C에서 코드 성능을위한 도구 #
- 27. Clone 또는 MailMessage 불변의. NET/C에서 #
- 28. .NET/C에서 LISP 또는 SCHEME 호출하기 #
- 29. C에서 백그라운드에서 프로세스를 실행하는 방법 .net #
- 30. C에서 개발 된 .net webservices의 '인증되지 않은'오류
이 질문을 참조하십시오 : http://stackoverflow.com/questions/977796/in-c-math-round2-5- 결과는 --- 3 대신에 농담입니까? –