Ответ 1
MSDN на условное форматирование на помощь!
Вы можете указать сразу три разных раздела строки формата, разделяя их точкой с запятой. Если вы укажете два раздела строки форматирования, первый используется для положительных и нулевых значений, а второй - для отрицательных значений; если вы используете три секции, первый используется для положительных значений, второй для отрицательных значений, а третий для нулевых значений.
Выход из этого кода С#:
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)