Почему формат не работает при добавлении нулей? - PullRequest
0 голосов
/ 20 октября 2019

Мне нужно отправить NOTIFICATION_NUM типа string с начальным нулем, но он возвращает только число, т.е. 76, 77 и т. Д., А не добавляющие нули.

  responseRecord.NOTIFICATION_NUM = string.Format("{0:000000000000}", responseRecord.NOTIFICATION_NUM); //padding with leading zeros

NOTIFICATION_NUM имеет тип string.

1 Ответ

2 голосов
/ 20 октября 2019

Вы используете строку произвольного числового формата в строке. Это не будет работать, потому что этот формат может применяться только к числам.
Чтобы получить строку из 12 символов, дополненную нулями и выровненную по левому краю, необходимо использовать string.PadLeft

// As an example
responseRecord.NOTIFICATION_NUM = "10";
responseRecord.NOTIFICATION_NUM = responseRecord.NOTIFICATION_NUM.PadLeft(12, '0');
Console.WriteLine(responseRecord.NOTIFICATION_NUM);

Первый параметр string.PadLeft - общая длина полученной строки. Таким образом, 12 означает, что вам нужна строка из 12 символов, если во входной строке меньше символов, то PadLeft добавит этот символ '0' перед исходной строкой, пока у вас не будет строка из 12 символов.

...