繁体   English   中英

String.Format()中的间距

[英]Spacing in String.Format()

我希望字符串中的单词之间的固定间距与数据网格中的单词类似。

我试过了:

string item = String.Format("{0,-9}{1,-42}{2,-24}{3,0}", ++i, itemName, itemQuantity, totalItemPrice.ToString("#,##0.00") + System.Environment.NewLine);

但由于itemName长度是可变的itemQuantity和totalItemPrice不保持其位置并被推进。

随后将该字符串分配给RichTextBox。

如果使用等宽(固定间距)字体,可以使用string.Format()来排序。

但是,除非您只显示数字(即使是按比例字体也具有相同的宽度),否则您将无法使用string.Format()对比例字体进行排序。

由于您使用的是RTF,因此如果需要使用比例字体,则可以使用表格。

有关更多信息,请参见此处: 在RTF中使用表格

但最简单的解决方案就是使用等宽字体,如果可以的话。

你可以这样做:

我刚刚修改了你使用这些值的方式,我可以将数据显示为数据网格。

 string itemName = "phone";

 int itemQuantity = 5, totalItemPrice=50;

 string item = String.Format("{0,-2}{1,-10}{2,-5}{3,-5}", ++i, itemName, itemQuantity, totalItemPrice.ToString("#,##0.00")+System.Environment.NewLine);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM