Страница: 1 |
Вопрос: как дополнить строку до необходимой длины пробелам | Добавлено: 22.02.07 16:18 |
Автор вопроса: ![]() |
как дополнить строку до необходимой длины пробелами
имею строку вида "абвгде" длиною 6 символов, конечная необходимая длина 10 символов. т.е. хотелось бы видеть "абвгде " ни у кого случайно нету такой функции:? |
Ответы | Всего ответов: 12 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 185 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 22.02.07 16:24 |
l = 10
s = "abvgd" s = s & Space(l - Len(s)) |
Номер ответа: 2 Автор ответа: ![]() ![]() ICQ: 1005765 Вопросов: 6 Ответов: 10 |
Профиль | Цитата | #2 | Добавлено: 22.02.07 16:25 |
спасибо |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 185 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 22.02.07 16:27 |
Строго говоря так:
l = 10
s = "abvgd" s = left(s,l) & IIf(len(s)<l,Space(l-Len(s)),"" ![]() |
Номер ответа: 4 Автор ответа: ![]() ![]() ICQ: 1005765 Вопросов: 6 Ответов: 10 |
Профиль | Цитата | #4 | Добавлено: 22.02.07 16:30 |
)Спасибо, меня и первый вариант устроил, я просто не знал о функции Space. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() Вопросов: 38 Ответов: 190 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 22.02.07 16:36 |
В .NET можно так:
Function AddSpace(ByVal txt as string, ByVal spacecount as integer) As String dim i as integer addspace=txt for i=0 to i=spacecount addspace=addspace+" " next End Function |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 22.02.07 17:00 |
В дотнете вместо Space можно (и нужно) использовать
New String(10, " "c) Может параметры местами перепутал, точно не помню ![]() |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 5 Ответов: 276 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 22.02.07 17:30 |
____ Всегда решал эту задачу "дубово" через функцию mid(). Добавлял необходимое число пробелов справа (в Вашем случае 10) и выделял первые символы (10 шт.). Такой способ работает быстро и не зависит от длины исходной строки. Например:
mid(str+" ",1,10)
|
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 185 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 22.02.07 19:53 |
Да, точно...
l = 10
s = "abvgd" s = Left(s&Space(l),l) |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 22.02.07 19:58 |
К сожалению, это решение из разряда "через жо". |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 22.02.07 20:00 |
Хотя что-то в этом есть ![]() |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #11 | Добавлено: 23.02.07 12:39 |
Можно так
Const L = 10
Dim a As String Dim b As String * L a="asdfa" b=a a=b |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 36 Ответов: 326 |
Профиль | Цитата | #12 | Добавлено: 26.02.07 04:04 |
зачем усложнять
Dim a As String * 10 ' объявляю строковую переменную в 10 символов
a = "asdfa" ' задаём строку Debug.Print a ' выводится строка в 10 символов (asdfa + 5 пробелов) |
Страница: 1 |
|