繁体   English   中英

如何将 label 中的数字乘以某个数字并将 output 结果与不同的 label ZD7EFA19FBE7D39D72725ADB66

[英]How to multiply a number in a label by a certain number and output result to a different label C#

只是在努力弄清楚如何正确地做到这一点,我已经做了一些谷歌搜索,我已经到了这一点,当我运行它时,这段代码确实会导致应用程序崩溃。

所以简而言之,我已经根据用户选择(按周率计算)汇总了一堆数字,我想 output 以月度格式计算最终结果(所以 * 我的总数为 4)。

这是我正在运行的本节的代码,任何帮助将不胜感激。 谢谢

private void CalcButton()
    {
        double a, b, c;
        double d;


        if (double.TryParse(label41.Text, out a) && double.TryParse(label45.Text, out b) && double.TryParse(label17.Text, out c))
        {
            label43.Text = (a + b + c).ToString("C");
        }
        if (radioButton4.Checked == true)
        {
            d = double.Parse(label43.Text);
            label42.Text = (d * 4).ToString();
        }
    }

您应该首先检查该值是否可解析,因此将其移动到检查中将是一个更好的选择

private void CalcButton()
    {
        double a, b, c;
        double d;

        if (double.TryParse(label41.Text, out a) && 
            double.TryParse(label45.Text, out b) &&
            double.TryParse(label17.Text, out c))
        {
            label43.Text = (a + b + c).ToString("C");
        }

        if (radioButton4.Checked == true && 
            double.TryParse(label43.Text, out d))
        {
            label42.Text = (d * 4).ToString();
        }
    }

首先,将d初始化为一个值。
接下来,如果您的多个初始化测试之一失败, label43.Text未设置,您对此 label 的解析将失败。
我建议,在第一个测试中,将 d 的值设置为三个值的总和,然后将level43.text设置为d.ToString("C")然后,您将不需要解析label43.Text
最后,使用 4 来确定每月金额并不准确,因为每 12 个月有 52 周。 更接近的值是52/12 = 4.3333...

像这样:

private void CalcButton()
    {
        double a, b, c;
        double d = 0.0;

        if (double.TryParse(label41.Text, out a) && 
                double.TryParse(label45.Text, out b) && 
                double.TryParse(label17.Text, out c))
        {
            d = a + b + c;
            label43.Text = d.ToString("C");
        }
        if (radioButton4.Checked == true)
        {
            label42.Text = (d * 52 / 12).ToString();
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM