字符串格式化和打印
本文关键字:打印 格式化 字符串 | 更新日期: 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
或其他固定宽度字体。