работа со строками и VbCrLf в vb.net - PullRequest
1 голос
/ 10 марта 2012

Мне нужна строка, которую я могу использовать для заголовка страницы.Проблема в том, что когда я использую vbcrlf, я не знаю, как вернуться и написать.Пример:

dim MyStr As String = "Amount to be" & vbcrlf & "Deducted in This Month" & VbCrLf

MyStr &= "Amount Paid Last" & VbCrLf & "Month" & VbCrLf

Это дает мне вывод

Amount to be
Deducted in This Month
Amount Paid Last
Month

'--- Я хочу такой вывод

Amount to be                               Amount Paid Last
Deducted in This Month                     Month

' Пожалуйста, помогите мне узнатьрешение.

1 Ответ

1 голос
/ 10 марта 2012

В таком случае вы всегда должны использовать составное форматирование.Обязательно прочтите это в MSDN Library .Ключевой особенностью, которой можно воспользоваться здесь, является возможность выравнивать текст и вставлять его с пробелами.Спецификатор формата должен выглядеть как {n,w:c}, где n - номер аргумента, w - ширина сгенерированной строки, а c - желаемый формат.Используйте отрицательное значение для w, чтобы выровнять текст по левому краю.

Поэтому код, подобный этому:

    Dim ToBePaid As Decimal = 1.23
    Dim Deducted As Decimal = 0.04
    Dim PaidLast As Decimal = 2.45
    Dim PayDate As DateTime = DateTime.Now
    Dim MyStr = String.Format("{0,-10:C}{1,20:C}", ToBePaid, PaidLast) + vbCrLf + _
                String.Format("{0,-10:C}{1,20:MMMM}", Deducted, PayDate)
    Console.WriteLine(MyStr)

Создает этот вывод:

$1.23                    $2.45
$0.04                    March

Это будет тольковыглядят правильно выровненными, если вы посмотрите на файл с помощью средства просмотра файлов, в котором используется шрифт с фиксированным шагом.

...