2017-06-22 8 views

答えて

2

これは文字列なので、最初のグループに別のグループセパレータが必要ですか?あなたが最後のドット以外のすべてを置き換えることができ

string value = "9.999.999"; 
StringBuilder sb = new StringBuilder(value); 
bool skippedLast = false; 

for (int i = sb.Length - 1; i >= 0; i--) 
{ 
    if (sb[i] == '.') 
    { 
     if (!skippedLast) 
      skippedLast = true; 
     else 
      sb[i] = '\''; 
    } 
} 

string desiredOutput = sb.ToString(); // 9'999.999 
+0

ありがとう!それは私のために働く –

1

フレームワークに同梱されているIFormatProvider実装はあなたが望む機能/必要性に欠けるデフォルト以来、私はさらに

インターフェースを自分で実装することをお勧めCultureInfoは封印されていないため、クラスを拡張して実装をSystem.Threading.Thread.CurrentThread.CurrentCultureに提供することができます。特定のフォーマットプロバイダで呼び出されない限り、そのスレッドのすべての連続した書式設定呼び出しが実装を使用します。

+0

また、 'ICustomFormatter'が必要です。おそらくあなたはそれをあなたの答えに加えたいと思うでしょう。参照:https://msdn.microsoft.com/en-us/library/system.icustomformatter(v=vs.110).aspx –

関連する問題