2012-02-14 18 views
0

私のアプリケーションでは、ユーザーは数値を取得できます。文脈では、私は彼らが通貨価値か他の何らかの数値を取り込んでいるのかどうかわかりません。異なる小数点区切り記号と区切り記号を用意する必要がありますが、どちらをCultureInfoから選択する必要がありますか?C#:NumberDecimalSeparatorとCurrencyDecimalSeparatorとの相違点

誰かがどのような状況でNumberDecimalSeparatorとCurrencyDecimalSeparatorが異なる可能性がありますか?

答えて

3

これは、事前定義された文化をチェックするために非常に簡単です:私のボックスに

using System; 
using System.Globalization; 

class Test 
{ 
    static void Main() 
    { 
     foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures)) 
     { 
      var formatInfo = culture.NumberFormat; 
      if (formatInfo.NumberDecimalSeparator != 
       formatInfo.CurrencyDecimalSeparator) 
      { 
       Console.WriteLine("{0}: {1} {2}", 
            culture, 
            formatInfo.NumberDecimalSeparator, 
            formatInfo.CurrencyDecimalSeparator); 
      } 
     } 
    } 
} 

結果:

et: , . 
tg: , ; 
fa: ./
kk: , - 
ky: , - 
tzm: , . 
ps: , ? 
prs: , . 
et-EE: , . 
tg-Cyrl-TJ: , ; 
fa-IR: ./
kk-KZ: , - 
ky-KG: , - 
ps-AF: , ? 
prs-AF: , . 
tzm-Latn-DZ: , . 
en-ZA: . , 
tg-Cyrl: , ; 
tzm-Latn: , . 
+0

なしLINQ文の? ;-) – Oliver

+0

@Oliver:できました。それはずっともっときれいにしていただろうか...確かにオプション。 –

+0

なぜ私はそれをやっていると思いませんでしたか?ありがとう! – Peter