字符串格式化和打印

本文关键字:打印 格式化 字符串 | 更新日期: 2023-09-27 18:00:25

我正在尝试对齐值。我想知道为什么会发生这种情况:

        string value = "";
        value += string.Format("{0,-10}", "value");
        value += string.Format("{0,5}", "value");
        value += Environment.NewLine;
        value += string.Format("{0,-8}", "val");
        value += string.Format("{0,7}", "value");
        Print(value);

如果我在"打印"之前检查值,它是正确的。结果是:

value     value
val       value

应该是这样,但当我把"值"打印到打印机上时,它们会变成这样:

   value     value
   val     value

我真的不明白为什么当我打印文本时它会更改字符串?

我试过用"''t",但我的打印机似乎听不懂"''t"的意思,因为标签页没有打印出来。

顺便说一句:这只是一个测试代码,所以你可以理解我在实际代码中遇到的问题。

字符串格式化和打印

您的控制台使用固定宽度字体,而打印机不使用(至少在默认情况下)。因此,空格在打印机上占用的空间较小,而根据字母的实际宽度,它们占用的空间或多或少。

这可能是由使用不同字符宽度的字体引起的。在非固定宽度字体中,空格通常比字母和数字窄,因此可能缺少空格。请考虑使用Lucida Console或其他固定宽度字体。