c# - 표시 - 모범 사례-여러 통화 형식 지정




형식 지정 문자 (4)

아래에 나열된 시나리오의 모범 사례는 무엇입니까?

우리는 여러 통화를 지원하고자하는 신청서를 가지고 있습니다. 이 소프트웨어는 사용자 로케일과 지역 설정을 존중하여 올바른 숫자 형식 (예 : $ 10,000.00 또는 10.000,00 ₴ 등)을 지정합니다.

그러나 우리는 통화 ID (아마도 세 글자의 ISO4217 코드)를 기반으로 다른 숫자를 형식화 할 수 있기를 원합니다. 우리의 아이디어는 데이터베이스에 각 통화별로 테이블을 저장 한 다음 사용자가 사용할 통화 기호를 선택하도록 요청하는 것입니다. 프로그램은 로케일 / 지역 설정에 따라 모든 숫자의 형식을 지정하지만 Google 프로그램에 정의 된대로 통화 기호를 사용합니다.

따라서, 다음과 같은 가치와 통화가 주어진다면
10000 AUD
5989.34 USD
450 EUR

프로그램이 출력합니다.
$ 10,000.00
$ 5,989.34
€ 450.00

또는 #####, ## $와 같은 숫자를 형식화 한 지역 설정으로 결과가 나타납니다.
10000,00 $
5989,34 $
450,00 €

로케일 / 지역 번호 서식을 존중하지만 다른 통화를 표시하는 경우이를 위해 가장 좋은 방법은 무엇입니까?

나는 이것이 의미가 있기를 바랍니다.

사용 된 기술은 C # .NET 2.0입니다.



나는 비슷한 상황에 직면했다. 나는 방법을 발견했다, 당신을 위해 얼마나 유용할지 모르겠다. 그러나 그것은 나의 문제를 해결했다. 각 로그인 인증마다 Session [ "cur"] = "0.000"또는 "0.00"과 같은 각 장소에 대한 세션 문자열을 설정했습니다. 그리고 통화가 시스템에 들어오는 곳에서는 모델 변수에 .ToString [Session [ "cur"] .ToString ()]을 사용했습니다. 그것은 나를 위해 트릭을했습니다. 희망이 당신을도 도움이됩니다.


데이터 서식 지정에 대한 최선의 방법을 알고있는 것 같습니다. 내가 너라면 나는 기술적으로 표준이 무엇인지에 대해 걱정하지 않을 것이지만 사용자가 익숙한 것에 더 집중할 것이다.

사용자가 서로 다른 통화에 대해 정통한 시장에서 영업하는 경우 독점적 인 사용자를 더 많이 보유하는 것과는 매우 다른 것입니다. 케이스에 따라 인터페이스를 다른 방식으로 설계해야합니다.

또한, 요구 사항이 모든 로케일에 통화를 표시하는 ISO4217 표준이 최선의 선택입니다. 통화 교환기, 인보이스 등에서 전 세계의 환전소에 표시되는 것입니다. 그렇지 않으면 통화 기호를 표시하는 것이 일부 사용자에게는 다소 혼란 스러울 수 있으며 기호 자체만으로 금액이 실제로 표시되지는 않습니다.

나는 또한 다음과 같은 질문을 참조 할 것입니다. 그들 모두가 당신의 문제와 직접적인 관련이있는 것은 아니지만, 여러 통화를 지원할 때 관련된 문제에 관해 매우 훌륭한 메타 토론을하고 있습니다.


통화 기호 만 저장하는 대신 통화 코드별로 문화어 문자열을 저장할 수 있으므로 AUD -> en - AU

CultureInfo ci = new CultureInfo("en-AU");
currencyValue.ToString( "c", ci );

사용할 수있는 서식의 유연성이 어느 정도인지 확신 할 수 없습니다.

이것이 도움이되는지 확실하지 않은 경우 :

특정 문화에 대한 숫자 데이터 서식 지정





regioninfo