2017-06-22 62 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 –