MSDN на условное форматирование на помощь!
Вы можете указать до трех различных разделов строки формата одновременно, разделяя их точкой с запятой.Если вы указываете две секции форматной строки, первая используется для положительных и нулевых значений, а вторая - для отрицательных значений;если вы используете три раздела, первый используется для положительных значений, второй - для отрицательных значений, а третий - для нулевых значений.
Вывод этого кода C #:
string fmt1 = "#,##0.00";
string fmt2 = "#,##0.00;(#,##0.00)";
double posAmount = 12345.67;
double negAmount = -12345.67;
Console.WriteLine("posAmount.ToString(fmt1) returns " + posAmount.ToString(fmt1));
Console.WriteLine("negAmount.ToString(fmt1) returns " + negAmount.ToString(fmt1));
Console.WriteLine("posAmount.ToString(fmt2) returns " + posAmount.ToString(fmt2));
Console.WriteLine("negAmount.ToString(fmt2) returns " + negAmount.ToString(fmt2));
равен:
posAmount.ToString(fmt1) returns 12,345.67
negAmount.ToString(fmt1) returns -12,345.67
posAmount.ToString(fmt2) returns 12,345.67
negAmount.ToString(fmt2) returns (12,345.67)