2010-10-22 4 views
1

В моем приложении есть возможность форматировать строку, используя функцию string.Format(). Я хочу добавить возможность вернуть пустой, когда результат равен нулю.string.Format() Blank Zero

Насколько я понимаю, это можно сделать с помощью кода: 0.toString("0;; ");, но, как я уже говорил, мне нужно использовать функцию string.Format() (так как он должен быть в состоянии использовать, например, формат {0:P} для процент.

ли кто-нибудь знает, как пустое нулевое значение с помощью функции string.Format()?

Спасибо, Peter

ответ

1

Почему вы не делаете это с помощью if else заявления?

string result = String.Format(the value); 
if(result=="0") 
{ 
    result=" "; 
} 
+0

Потому что я редактирую существующее приложение, где формат может быть заполнен где-то. Добавление нового формата так же просто, как редактирование файла конфигурации xml. Добавление инструкции if else действительно будет выполнено, но в конечном итоге при редактировании кода на каждом месте используется формат ... –

+0

В конце концов, я должен использовать это решение. Спасибо всем за ваши ответы! –

9

String.Format()supports; секции сепаратора ,

Попробуйте, например. String.Format("{0:#%;;' '}", 0);.

+1

К сожалению, вы не можете смешивать стандартные и пользовательские форматы строк, как это. – LukeH

+0

@ Фредерик Хамиди Спасибо за ваш ответ. Но это вернет N, когда значение равно 1, и -N, когда значение равно -1 :( –

+0

@LukeH Означает ли это, что это невозможно выполнить? –

6

Мой ответ немного поздно, но вы можете попробовать следующее:

{0:#.##%;-#.##%;''} 
+1

Благодарим вас за ответ, но, как я уже упоминал ранее, {0: P} - это просто пример, который пользователь может выбрать. Я должен использовать стандартные выражения форматирования, из-за которых я не могу использовать это выражение. Однако, спасибо за ваше время! –