Как заставить знак при форматировании Int в С#
Я хочу форматировать целое число я (-100 < i < 100
), так что:
-99 форматов как "-99"
9 форматов "+09"
-1 в формате "-01"
0 форматов "+00"
i.ToString("00")
близок, но не добавляет знак +, когда int положителен.
Есть ли способ сделать это без явного различия между
i >= 0
и i < 0
?
Ответы
Ответ 1
Попробуйте следующее:
i.ToString("+00;-00;+00");
При разделении точкой с запятой (;) первая секция будет применяться к положительным значениям и нулю (0), вторая часть будет применяться к отрицательным значениям, третий раздел будет применяться к нулю (0).
Обратите внимание, что третий раздел можно опустить, если вы хотите, чтобы нуль был отформатирован так же, как положительные числа. Второй раздел также может быть опущен, если вы хотите, чтобы негативы отформатировались так же, как и положительные, но хотите, чтобы другой формат был равен нулю.
Ссылка: Строки пользовательского числового формата MSDN: ";" Сепаратор разделов
Ответ 2
Возможно, вы сможете сделать это с такой же строкой формата.
i.ToString("+00;-00");
Это приведет к следующему результату.
2.ToString("+00;-00"); // +02
(-2).ToString("+00;-00"); // -02
0.ToString("+00;-00"); // +00
Взгляните на документацию MSDN для пользовательских строк числового формата
Ответ 3
Попробуйте что-то вроде этого:
i.ToString("+00;-00");
Некоторые примеры:
Console.WriteLine((-99).ToString("+00;-00")); // -99
Console.WriteLine(9.ToString("+00;-00")); // +09
Console.WriteLine((-1).ToString("+00;-00")); // -01
Console.WriteLine((0).ToString("+00;-00")); // +00