for (int iCount = 0; iCount < oForm.LineItems.Count; iCount++)
{
// cartDetails 在这里是一个字符串生成器。
cartDetails.Append(String.Format("{0:0}", oForm.LineItems[iCount].Quantity));
cartDetails.Append(String.Format("{0:0.00}", oForm.LineItems[iCount].Price));
cartDetails.Append(String.Format("{0:0.00}", oForm.LineItems[iCount].ExtendedPrice));
//cartDetails.Append(string.Format("{0,10:#,##0.00}", oForm.LineItems[iCount].Price) + "</TD><TD>");
//cartDetails.Append(string.Format("{0,10:#,##0.00}", oForm.LineItems[iCount].ExtendedPrice) + "</TD><TD>");
//cartDetails.Append(String.Format("{0}", oForm.LineItems[iCount].Quantity).PadLeft(4)+ "</TD><TD>");
//cartDetails.Append(String.Format("{0:0.00}", oForm.LineItems[iCount].Price).PadLeft(8) + "</TD><TD>");
我已经粘贴了我正在使用的源代码。我添加了数量、价格、扩展价格,都是十进制列。我要做的就是用前导空格填充左边。小数四舍五入到 2 位似乎正在发生。
上面那些注释的行是我尝试过的其他一些选项。目前,如果 qty 具有 4 和 40 等值,当我在表格中打印它们时它们不会对齐。与价格相同。
有人可以建议我在这里做什么吗?
更新1:尝试了卢卡斯的建议,但它不起作用。这就是我得到的。
cartDetails.Append(String.Format("{0:0,10}", oForm.LineItems[iCount].Quantity));
当我尝试上述方法时,无论 oForm.LineItems[iCount].Quantity 中的值如何,它都会为每一行显示 10。
如果我更改 String.Format("{0:0,4}",它会为所有记录显示 04