В таком случае вы всегда должны использовать составное форматирование.Обязательно прочтите это в 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
Это будет тольковыглядят правильно выровненными, если вы посмотрите на файл с помощью средства просмотра файлов, в котором используется шрифт с фиксированным шагом.