2016-12-15 2 views
2

Мне нужно форматировать строку для фиксированной длины. Я пытался использовать эту функцию форматирования из msdnФормат Строка с фиксированной длиной с ведущими пробелами

Dim i as Decimal 
i = 123,12 
MsgBox(Format(i,"######.##")) 

Выход 123,12

Но выход я хочу есть с ведущими пробелами. (Подчеркивание должен быть пробел символ)

Выход ___ 123,12

ответ

3

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

Format(12.323, " ##.##") 
+0

ну, это было легко достать: D. Спасибо, отлично. – Twiebie

-1

строка s = "Строка идет здесь";

строка строки1 = строка.Format ("{0,27}", s);

string line2 = String.Format ("{0, -27}", String.Format ("{0," + ((27 + s.Length)/2) .ToString() + "}", с));

строка строки3 = строка.Format ("{0, -27}", s);

+1

Это не код vb6, или? {0,27} в качестве определения формата не работает/возвращаемая строка «{0,27}», а не форматированный ввод, если я пытаюсь ее использовать. – Twiebie

-1

Вы пробовали команду Rset?

х = (Format $ (123,5, "$ ## 0,00"))

печати "х" & х & "х"

RSet х = (Format $ (1,5, «$ # # 0,00"))

печати "х" & х & "х"

Выход:

х $ 123.50x

x $ 1.50x

+0

'Dim test As String RSet test = Format (123.45," $ ##### 0.00 ")' output = $ 123.45 - без пробелов. – Twiebie

0

Перед прибытием Format, канонический способ сделать это:

Result$ = Right$(Space$(9) & Incoming$, 9) 

... которые можно обобщить, заменив «9» с переменной.

Это работает и для ведущих нулей, используя String$("0", n) вместо Space$(n).

Смежные вопросы