Readonly CultureInfo.numberformat에서 CurrencySymbol을 설정하는 방법?
-
11-09-2019 - |
문제
나는 기본 .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**
.
감사!
해결책
부르다 Clone
에 CultureInfo
, 변이 가능한 버전을 생성 한 다음 통화 기호를 설정합니다.
당신은 더 구체적 일 수 있습니다 : 가져 오기 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));
}
}
제휴하지 않습니다 StackOverflow