0

我正在编写一个教程,并且在 Web 表单上的格式设置上有一个小问题。似乎一旦我输出的数字达到 2 位,对齐就会关闭并向右移动。正确对齐数字字符的任何技巧?

这是我的代码:

 private void btnDisplay_Click(object sender, EventArgs e)
    {
        for (int i = 0; i <= 10; i++)
        {
            lblProduct.Text += String.Format(i + "   ").PadRight(10);
            for (int j = 1; j <= 10; j++)
            {
                if (i > 0) lblProduct.Text += String.Format(i * j + "   ").PadRight(10);
                else lblProduct.Text += String.Format(j + "   ").PadRight(10);
            }
            lblProduct.Text += "\n";
        }
    }
4

2 回答 2

2

通常要左对齐并填充 3 个字符,请使用:

String.Format("{0,-3}",i)

所以对于你的情况使用

lblProduct.Text += String.Format("{0,-3}",i);
for (int j = 1; j <= 10; j++)
{
    if (i > 0) lblProduct.Text += String.Format("{0,-3}",i * j);
    else lblProduct.Text += String.Format("{0,-3}",j);
}
lblProduct.Text += "\n";
于 2013-10-28T18:40:47.513 回答
1

这是表格数据,这就是<TABLE>发明标签的原因。

在您的样式表中:

<style>
.ProductTable
{
    text-align: right;
}
</style>

在您的 aspx 文件中:

<asp:Table id="tblProduct" CssClass="ProductTable" runat="server">

在您的代码中:

private void btnDisplay_Click(object sender, EventArgs e)
{
    for (int i = 0; i <= 10; i++)
    {
        TableRow tr = new TableRow();
        tblProduct.Rows.Add(tr);

        TableCell td = new TableCell();
        td.Text = i.ToString();
        tr.Cells.Add(td);

        for (int j = 1; j <= 10; j++)
        {
            td = new TableCell();
            tr.Cells.Add(td);
            td.Text = (i * j).ToString;
        }
    }
}
于 2013-10-28T18:55:34.290 回答