Как это можно сделать, без "ручной" простановки знака +
Ответ
Самый простой путь — воспользоваться кастомным форматированием
var x = 4;
var s = x.ToString("+#;-#;0");
Три случая, разделённые , отвечают числу больше нуля, меньше нуля и нулю. Если вы хотите, можно выводить и ноль со знаком: "+#;-#;+0"
Если вы используете string.Format, сработает string.Format("{0:+#;-#;+0}", x). Для интерполированных строк $"{x:+#;-#;+0}"
Для второй секции нужен явный минус, т. к. в этом случае он убирается. Для третьей секции нужен 0 вместо #, т. к. # не учитывает незначащие нули.
Комментариев нет:
Отправить комментарий