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