> 백엔드 개발 > C++ > C#의 10 진수에서 후행 0을 효율적으로 제거하려면 어떻게해야합니까?

C#의 10 진수에서 후행 0을 효율적으로 제거하려면 어떻게해야합니까?

Susan Sarandon
풀어 주다: 2025-01-24 08:57:10
원래의
207명이 탐색했습니다.

How Can I Efficiently Remove Trailing Zeros from Decimal Numbers in C#?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿