십진수 '96 .154 '가 주어지면 어떻게 96.16으로 반올림 될지 (96.15를 줄 수있는 2 개의 소수로 반올림하는 것과 반대).소수점 이하를 반올림하는 방법은 무엇입니까?
14
A
답변
16
해키의 종류하지만, 그렇게 할 수있는 매우 직관적 인 방법 :
var val = 96.154M;
var result = Math.Ceiling(val * 100)/100.0M;
+0
당신이 말하는 것처럼 가장 이상적이 아니지만 최고의 해결책으로 보입니다 –
5
나는 당신이 Math.Ceiling
방법을 찾고 생각합니다.
곱셈기와 결합하여 소수점 이하 자릿수를 지정할 수 있습니다. 이와 같이
public float roundUp(float number, int numDecimalPlaces)
{
double multiplier = Math.Pow(10, numDecimalPlaces))
return Math.ceiling(number*multiplier)/multiplier;
}
6
0
다음은 값 및 기본 분수에 대한 roundUp 메소드의 코드입니다. 귀하의 질문에 사용해야하는 기본 분수는 0.05M입니다. 그러나이 방법은 기본 분수 0.5M 인 다른 일반적인 시나리오에 사용할 수 있습니다. 예를 들어 0.3M의 기본 부분을 사용하는 것과 같은 흥미로운 방식으로 적용 할 수 있습니다. 그럼 난 재미, 그것이 당신의 질문에 대답해야 희망이 있습니다
여기static decimal roundUp(decimal aValue, decimal aBaseFraction)
{
decimal quotient = aValue/aBaseFraction;
decimal roundedQuotient = Math.Round(quotient, 0);
decimal roundAdjust = 0.0M;
if (quotient > roundedQuotient)
{
roundAdjust = aBaseFraction;
}
return roundAdjust + roundedQuotient * aBaseFraction;
}
0
는 라운드 업 방법의 나의 버전에서는이 할 수있는 특정 소수
void Main()
{
Console.WriteLine(RoundUp(2.8448M, 2));
//RoundUp(2.8448M, 2).Dump();
}
public static decimal RoundUp(decimal numero, int numDecimales)
{
decimal valorbase = Convert.ToDecimal(Math.Pow(10, numDecimales));
decimal resultado = Decimal.Round(numero * 1.00000000M, numDecimales + 1, MidpointRounding.AwayFromZero) * valorbase;
decimal valorResiduo = 10M * (resultado - Decimal.Truncate(resultado));
if (valorResiduo < 5)
{
return Decimal.Round(numero * 1.00M, numDecimales, MidpointRounding.AwayFromZero);
}
else
{
var ajuste = Convert.ToDecimal(Math.Pow(10, -(numDecimales + 1)));
numero += ajuste;
return Decimal.Round(numero * 1.00000000M, numDecimales, MidpointRounding.AwayFromZero);
}
}
관련 문제
- 1. 소수점 이하를 반올림하는 방법은 무엇입니까?
- 2. PHP에서 정밀도로 소수점 이하를 버리고 반올림하는 함수, 더 좋은 방법은 무엇입니까?
- 3. 항상 소수점 이하를 지정된 정밀도로 반올림합니다.
- 4. 어떻게 Java에서 소수점 이하를 소수점 이하로 변환합니까?
- 5. 값을 반올림하는 방법은 무엇입니까?
- 6. 부동 소수점으로 소수점 이하를 반올림하십시오
- 7. 소수점을 반올림하는 방법은 무엇입니까?
- 8. 엑셀 소수점 올림 반올림
- 9. 출력 된 값의 소수점 이하를 제한하려합니다.
- 10. NSString - 이중에서 소수점 이하를 모두 자릅니다.
- 11. TWIG에서 반올림하는 방법은 무엇입니까?
- 12. MIPS (어셈블리) - 플로트 수를 반올림하는 방법은 무엇입니까?
- 13. 배열에서 부동 소수점으로 반올림하는 부동 소수점
- 14. PHP에서 숫자를 반올림하는 방법은 무엇입니까?
- 15. sprintf()는 자름을 반올림하고 소수점 이하를 반올림하지 않으십니까?
- 16. ios 4 이하를 타겟팅하는 방법은 무엇입니까?
- 17. 10 진수 (double) 뒤에 숫자를 반올림하는 가장 빠른 방법은 무엇입니까?
- 18. (가장) 10에 가까운 시간을 반올림하는 방법은 무엇입니까?
- 19. 특정 십진법의 정확도로 반올림하는 방법은 무엇입니까?
- 20. 유효 숫자에 gridview의 통화를 반올림하는 방법은 무엇입니까?
- 21. 팬더`DatetimeIndex`를 반올림하는 방법은 무엇입니까?
- 22. 부동 소수점 수와 함께 주어진 인수 중 가장 가까운 배수로 반올림하는 방법은 무엇입니까?
- 23. 소수점 이하 두 자리로 반올림하는 자바 스크립트 수학
- 24. 자바 스크립트에서 가장 가까운 전체 소수점 자릿수를 반올림하는 방법이 있습니까?
- 25. 통화 가치를 반올림하는 방법
- 26. 소수점 형식을 확인하는 방법은 무엇입니까?
- 27. 소수점 이하 0으로 숫자를 반올림하지 않도록 자바 스크립트를 얻는 방법
- 28. 파이어 폭스 3.6 이하를 타겟팅하는 순수한 CSS 방법은 무엇입니까?
- 29. Java를 반올림하는 메서드 호출
- 30. 두 자리에서 n 소수 자릿수로 반올림하는 방법은 무엇입니까?
96.16까지 96.154 원 아래로 반올림하지 않는 방법 ~ 96.15? 반올림이 작동하는 방법에 대한 사양을 자세히 설명하는 것이 좋습니다. –
이 링크를 확인하십시오. http://stackoverflow.com/questions/11740989/rounding-decimal-value/11741129#11741129 – sabz23
이것이 실제 십진 유형입니까, 아니면 이중입니까? – ken2k