【问题标题】:Need to align a text without using tabs需要在不使用制表符的情况下对齐文本
【发布时间】:2015-01-11 18:45:00
【问题描述】:

所以我正在做一个计算贷款的项目。如果我输入一个很大的数字,对齐就会变得很糟糕。任何帮助都会很棒。

    private void Reikna_Click(object sender, EventArgs e)
    {
        richTextBox1.Text = "";
        u = Convert.ToInt32(upph.Text);
        v = Convert.ToInt32(vex.Text);
        v = v / 100;
        Th = Convert.ToInt32(fjoldi.Text);
        f = Convert.ToInt32(afbAri.Text);

        int nr = 1;
        double heildarg = 0;
        double vaxtaUpph = u * (v / f);
        double eftirst = u;
        double upphaedP = u;
        string upphaedPrint = u.ToString();
        label7.Text = "Heildarupphæð láns er: " + upphaedPrint;
        label8.Text = "Greiðsla                 Afborganir                 Vextir                Heildargreiðsla           Eftirstöðvar eftir greiðslu";

        while (nr <= (f * Th))
        {
            double st1 = 1 + v / f;
            double st2 = Th * f;
            double st3 = Math.Pow(st1, st2);
            double st4 = v / f;

            double nedan = st3 - 1;
            double ofan = st3 * st4;
            double sum = (ofan / nedan) * u;
            heildarg = heildarg + sum;
            heildarg = Math.Round(heildarg);
            string heildarg1 = heildarg.ToString();

            double afb = sum - vaxtaUpph;
            eftirst = eftirst - afb;

            string prufa = nr + "\t\t" + Math.Round(afb) + " kr." + "\t\t" + Math.Round(vaxtaUpph)
                + " kr." + "\t\t" + Math.Round(sum) + " kr." + "\t\t" + Math.Round(eftirst)
                + " kr.";

            vaxtaUpph = eftirst * (v / f);
            nr++;

            richTextBox1.Text = prufa + "\n" + richTextBox1.Text;
            textBox1.Text = heildarg1 + " kr.";
        }
    }

它是用冰岛语写的,所以不要试图理解变量的含义。

【问题讨论】:

  • 它是用冰岛语写的,所以不要试图理解变量的含义。 -> 为什么不用英文写给我们,这样我们可以 明白吗?
  • 几个建议:(1)使用等宽字体,或者(2)更好的解决方案是使用表格来显示数据。
  • 将 textParts 存储在每行的数组中,确定每列的最大长度,在连接成行字符串时使用 PadLeft 或 PadRight 正确对齐。
  • 使用了等宽字体,这成功了,谢谢马修
  • 我也很困惑,您如何在打印的代码中在千位之间放置逗号?

标签: c# text while-loop alignment


【解决方案1】:

您可以尝试标签功能\t,以在每个条目之间统一提供空格。

【讨论】:

  • 你看过代码了吗,他在物理上把它们分开了,我只是给出了一个程序化的解决方案。例如:在 label8 中!他没有指定他需要间隔的地方。
  • string prufa = nr + "\t\t" + Math.Round(afb).
  • 啊。好的。他正在混合空格和制表符。很好,令人困惑。
  • 我尝试过使用 \t,但是当我使用标签时它似乎不起作用。
猜你喜欢
  • 2023-03-03
  • 1970-01-01
  • 2016-05-07
  • 2015-02-22
  • 2018-05-31
  • 1970-01-01
  • 2017-04-16
  • 2011-03-27
  • 1970-01-01
相关资源
最近更新 更多