문제

나는 기본 .NET 문화가 (sfr.) 인 것과 다른 기호 (CHF)와 통화 (Swiss Frank-de-Ch)를 포맷하려고합니다. 문제는 문화의 숫자가 준비되어 있다는 것입니다.

CultureInfo 및 NumberFormat을 사용 하여이 문제를 해결하는 간단한 방법이 있습니까? CurrencySymbol을 무시할 수있는 방법이 있습니까?

예시:

Dim newCInfo As CultureInfo = CultureInfo.GetCultureInfo(2055)
newCInfo.NumberFormat.CurrencySymbol = "CHF"
MyCurrencyText.Text = x.ToString("c",newCInfo)

이것은 설정에 오류가 발생합니다 NumberFormat.CurrencySymbol 왜냐하면 NumberFormat ~이다 **ReadOnly**.

감사!

도움이 되었습니까?

해결책

부르다 CloneCultureInfo, 변이 가능한 버전을 생성 한 다음 통화 기호를 설정합니다.

당신은 더 구체적 일 수 있습니다 : 가져 오기 NumberFormatInfo 그리고 그것을 복제합니다. 문화의 다른 것을 바꾸지 않아도 약간 더 우아합니다.

C#의 예제 :

using System;

using System.Globalization;

class Test
{
    static void Main()
    {
        CultureInfo original = CultureInfo.GetCultureInfo(2055);
        NumberFormatInfo mutableNfi = (NumberFormatInfo) original.NumberFormat.Clone();
        mutableNfi.CurrencySymbol = "X";
        Console.WriteLine(50.ToString("C", mutableNfi));
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top