Syed Salman Raza Zaidi Ответов: 2

Добавьте символы в строку, чтобы сделать ее фиксированной длиной


Я хочу добавить некоторые символы в начало целочисленной строки. например, моя строка - " 45"
Я хочу добавить четырнадцать 0 перед ним, как 0000000000000045.
Проблема в том, что длина моей строки может варьироваться, она может состоять из 4 символов, иногда из 3 или более 10 символов.
Я просто хочу сделать его строкой из 16 символов, добавив перед ним 0.
как я могу это сделать?

Что я уже пробовал:

Я делаю это
(my_string).PadLeft(16 , '0');


но он потерпит неудачу, если длина будет больше 10

Richard Deeming

PadLeft для меня это прекрасно работает. Если длина строки меньше 16, она добавляет достаточно 0это должно быть ровно 16 символов. Если длина строки больше или равна 16, она возвращает строку без изменений.

NB: PadLeft возвращает измененную строку. Он не изменяет исходную строку. Если вы нигде не храните и не используете возвращаемое значение, вы не увидите результата.

Syed Salman Raza Zaidi

Я храню его в новой строке

2 Ответов

Рейтинг:
2

TheRealSteveJudge

например, число типа int из 45
и вы хотите иметь строку длиной 16 символов.

var number = 45;
var text = number.ToString("D16");


Пожалуйста, взгляните на это
Строки Стандартного Числового Формата | Microsoft Docs[^]


Richard Deeming

16 персонажи, не 16 байты! :)

TheRealSteveJudge

- Да, ты прав. Спасибо.

Рейтинг:
15

OriginalGriff

В дополнение к PadLeft, стоит сохранить его как целое число и использовать ToString ,чтобы" дополнить "его до" полной длины " только тогда, когда вы хотите представить его пользователю:

int i = 45;
string padded = i.ToString("D16");