String.PadRight似乎无法正常工作(Unequal列)

时间:2016-10-01 11:58:20

标签: c# string printing

我正在尝试打印收据。我使用这种方法在标题和价格之间加一个空格:

  private string getStringForList(string menu, string price, string title)
    {
        if (price != null)
        {
            decimal Prices = Convert.ToDecimal(price);
            menu = menu.PadRight(33,' ');
            return menu + Prices.ToString("c2");
        }
        else
        {
            return menu.PadRight(46) + title;
        }
    }

但它似乎并没有像那样工作。我得到了这个结果:

link to picture

如何在一条线上打印这些价格?

1 个答案:

答案 0 :(得分:1)

我检查过,填充加起来为33个。所以问题必须是字体的空格必须比其他文本更窄。也许您可以尝试使用标签跳转(' \ t')或所有字符具有相同宽度的字体,包括空格。