Подтвердить что ты не робот

Как я могу использовать процент% в FormatString без его умножения на 100?

Я хотел бы отформатировать целое число как процент без его умножения на 100, как показано здесь. Поскольку мой источник является int, деление его на 100 - это не допустимый вариант. Возможно ли это?

[DisplayFormat(DataFormatString = "{0:#%}")]
4b9b3361

Ответ 1

Вы можете избежать символа %:

[DisplayFormat(DataFormatString = @"{0:#\%}")]

Обратите внимание, что в качестве escape-символа существует два способа использования \: если вы префикс строкового литерала с символом verbatim (@), то символы \ включены в строку as-is, что означает, что в качестве части строки формата одиночный \ будет функционировать как escape-символ.

Без символа @ verbatim \ интерпретируются как escape-строки компилятором и как таковые должны быть экранированы сами, как \\.

Выберите один или другой, но не оба:

@"{0:#\%}"  -> right
"{0:#\\%}"  -> right
@"{0:#\\%}" -> wrong

Ответ 2

Поместите% вне {0:..}

[DisplayFormat(DataFormatString = "{0:0.00}%")]

Ответ 3

На вашей связанной странице:

\ Символ побега

Заставляет следующий символ интерпретироваться как литерал, а не как спецификатор специального формата.

[DisplayFormat(DataFormatString = "{0:#\\%}")]