문제

나는 새로운 cultubinfo ( "fr-fr")를 사용하여 CultureInfo 객체를 만들었습니다. 이제 .ToString ( "C", FrenchCultureInfo)이라고 부르고 싶은 숫자가 있습니다. 결과 문자열은 숫자 다음에 €를 넣습니다. 왜요?

CultureInfo french = new CultureInfo("fr-FR");
double value = 1234.56;
string output = value.ToString("C", french);//output = "1 234,56 €"

내가 본 모든 것에서 유로는 왼쪽에 있어야하며 내 비즈니스 요구 사항은 왼쪽에 있어야합니다. 그러나이 값을 프로그래밍 방식으로 설정하는 방법은 없습니다.

이 가치를 쉽게 설정할 수있는 방법에 대한 아이디어가 있습니까? 나는 미국 문화 대상을 가져 와서 프랑스 문화에서 그것에 이르기까지 모든 것을 복사하기 시작했습니다. 왜냐하면 우리는 여전히 올바른 가치에 대한 유로를 제외하고 다른 모든 프랑스 환경을 원하기 때문입니다. 그러나이 방법은 시간이 많이 걸리고 실망 스럽습니다.

감사!

도움이 되었습니까?

해결책

원본을 복제 한 다음 수정하십시오.

CultureInfo french = new CultureInfo("fr-FR");
french = (CultureInfo) french.Clone();
// Adjust these to suit
french.NumberFormat.CurrencyPositivePattern = 2;
french.NumberFormat.CurrencyNegativePattern = 2;
double value = 1234.56;
string output = value.ToString("C", french);//output = "€ 1 234,56"

이것은 그 특정에만 영향을 미칩니다 CultureInfo 대상, 일반적으로 프랑스어로 얻은 것과는 대상이 아니므로 어디서나 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top