C# - 格式化数字字符

时间:2013-10-28 18:13:15

标签: c# asp.net

我正在制作一个教程,并且在网络表单上有一些格式问题。似乎一旦我的输出数字达到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";
        }
    }

2 个答案:

答案 0 :(得分: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";

答案 1 :(得分: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;
        }
    }
}