C# 소수에서 후행 0 제거: 깔끔한 솔루션
뒤에 오는 0을 제거하기 위해 소수 형식을 지정하는 것은 까다로울 수 있습니다. 최근의 프로그래밍 문제에서는 원치 않는 반올림을 방지하는 강력한 솔루션의 필요성이 강조되었습니다.
도전:
이 작업은 다음과 같이 소수점 이하 자릿수에서 뒤에 오는 0을 제거하는 것이었습니다.
<code>2.4200 2.0044 2.0000</code>
원하는 출력은 다음과 같습니다.
<code>2.42 2.0044 2</code>
String.Format
과 같은 표준 방법은 0을 유지하거나 반올림 오류를 발생시키는 등 부적절한 것으로 판명되었습니다.
우아한 솔루션:
이 솔루션은 decimal
유형의 내부 구조를 활용합니다. 확장 방법은 소수 값을 정규화하는 깔끔한 방법을 제공합니다.
<code class="language-csharp">public static decimal Normalize(this decimal value) { return value / 1.000000000000000000000000000000000m; }</code>
이 특정 상수로 나누면 소수점 지수가 효과적으로 조정되어 불필요한 후행 0이 제거됩니다. 정규화된 십진수에 대해 ToString()
을 호출하면 원하는 출력이 나옵니다.
예:
<code class="language-csharp">1.200m.Normalize().ToString(); // Output: 1.2</code>
이 접근 방식은 후행 0을 제거하는 간결하고 정확한 방법을 제공하여 C# 소수 처리를 위한 실용적인 솔루션을 제공합니다.
위 내용은 C#의 10 진수에서 후행 0을 효율적으로 제거하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!