如何在列表项上使用字符串格式

How to use string format on a list item

我正在使用拉绳从列表中获取要显示的项目,但现在我希望它显示为 4 位数字而不是一位数字。

所以与其显示 0 我希望它显示 0.000 。如果有人能帮我解决这个问题就好了。

这是使用的列表类型。

List<string> ListVrd = new List<string>();

用于填写列表的代码。

c = drART["MVRD"].ToString();
ListVrd.Add(c);

以及用于打印项目的代码行。

row = ListVrd[itemsPrinted];
e.Graphics.DrawString(row, DefaultFont, Brushes.Black, distance, currentY);//print item

您需要将 string 转换为数字类型,然后将其转换回所需格式的 string,例如

formattedString = Convert.ToDouble(unformattedString).ToString("n3");

您实际在哪里进行转换取决于您,即在您将项目添加到列表之前或何时将其删除。不过我想知道,如果数据代表一个数字,那么为什么它首先存储为 string

我假设来自 drART 的是一个数字,在这种情况下,您可以在那里对其进行格式化:

c = ((float)drART["MVRD"]).ToString("0.000");
ListVrd.Add(c);

注意上面假设来自drART["MVRD"]的号码是float。检查它 实际上 是什么类型 - 它可能是 intdecimallong

Standard formatting strings and Custom formatting strings

在尝试使用此处建议的一些内容和一些格式占位符的 msdn 列表使其工作后,我设法得到了我想要的。

这是我现在使用的代码。

c = drART["MVRD"].ToString();
c2 = (String.Format("{0:###,###0,000} ", Convert.ToInt32(c), cult));
ListVrd.Add(c2);