C# 使用第32英寸格式化行长度的结果

C# 使用第32英寸格式化行长度的结果,c#,math,formatting,line,C#,Math,Formatting,Line,我在测量线与线之间的距离。我相信我的数学是正确的,但是(正如你在评论中看到的那样),我很难得到我需要的结果。我需要一个整数,例如5,6,7。我以前所有的尝试都会产生非常长的小数 private void btnCalc_Click(object sender, EventArgs e) { int dist; dist = 0; if (p1List.Count != 0 && p2List.Count != 0) { dist

我在测量线与线之间的距离。我相信我的数学是正确的,但是(正如你在评论中看到的那样),我很难得到我需要的结果。我需要一个整数,例如5,6,7。我以前所有的尝试都会产生非常长的小数

private void btnCalc_Click(object sender, EventArgs e)
{
    int dist;
    dist = 0;

    if (p1List.Count != 0 && p2List.Count != 0)
    {

        dist = (Convert.ToInt32(Math.Pow(p1.X - p1.Y, 2) + Math.Pow(p2.X - p2.Y, 2) / 1072));
        //Math.Round(dist, 2);
        //int num = Math.Round(dist, 2);
        //lblLength.Text = dble.ToString("0.0");
        //lblLength.Text = dist.ToString("#.#%");
        //lblLength.Text = String.Format("{0:P1}.", dist);
        //lblLength.Text = string.Format("{0:0.#}");
    }
    else
    {
        MessageBox.Show("You must first create a line");
    }
}
这可能比我做的要容易

对不起,我通常不使用这样的应用程序

所以这个部门有一张纸,车间里的人在上面画了一些线来显示零件上的问题。纸上这条线很小,通常是指甲长度或更短。然后,有人在一天结束时用尺子用'32标尺测量这些线。然后,他们将这个数字插入到一张excel表格中,该表格正在进行上述计算

此后,我将行更改为
lblLength.Text=(Convert.ToString(dist%32))

然而,这似乎很奇怪。我查看了他们过去所有的excel表格,他们所有的行都是2,3,4,5,比6高不了多少。然而,当我在应用程序中画一条很小的线时,数字是15,18+。也许我不应该像现在这样测量距离?

我觉得你把事情复杂化了

您所需要做的就是
lblLength.Text=dist


根据定义,
int
是一个整数。

我认为你把这个问题复杂化了

您所需要做的就是
lblLength.Text=dist


根据定义,
int
是一个整数。

如果您只输出
dist
您将得到一个整数。在您对我的答案发表评论之后,请您更清楚地说明您想要实现的目标以及
整数
的含义,因为它看起来不像是整数。如果您只输出
dist
,您将得到一个整数。在您对我的答案发表评论之后,请你更清楚地说明你想要达到的目标,以及你所说的整数是什么意思,因为它看起来不像是整数。我得到的数字,就是我最近一次只显示距离的尝试,就像他们手工操作时的方式一样,他们测量到了最接近的32英寸。因此,所有这些“纸上”计算都是4,5,6,7等,而我的是,正如前面提到的
8123
是否有一种方法我需要这样做,所以我得到了他们手工计算时的结果?我试图避免用手做这件事。我想我可能误解了你。如果您想从一整英寸中得到32分之一的数字(假设测量值是以32分之一计算的),您需要执行
dist%32
。不过,我认为你需要编辑你的问题,以便更清楚地了解你需要什么,然后我将很乐意帮助你!你的权利。起初我不确定它是否是32岁。然后,一旦我显示了整个数字,我想这可能就是为什么我没有按我需要的方式看到它的原因。但这似乎也不对。我又加了一句,如果我画一条很小的线,数字是“15”,那么我画一条很长的线,数字是“18”,这看起来很奇怪。当他们用手做的时候,我从来没有见过比8更长的东西。你有没有想过你的数学可能是错的?1072的硬编码值似乎可疑。要计算两个点之间的距离,需要类似于
Math.Sqrt(Math.Pow(x2-x1,2)+Math.Pow(y2-y1,2))
。这听起来越来越不像是一个格式问题了。好吧,一开始它对我来说是一个格式问题。但在纠正了我愚蠢的错误后,我开始怀疑这是否正确。我删除了
1072
号码,因为事实上我不需要它,直到后来,你才提到它,这唤起了我的记忆谢谢。尽管如此,我还是在应用程序上画了一条很小的线,它的2,3,4行很好。但是如果我做了一个相同长度的新的,突然18,20,16我就不明白了。我得到的数字,就我最近的一次尝试,只显示了
dist
,就像
8123
当他们用手做的时候,他们测量到了最接近的32英寸。因此,所有这些“纸上”计算都是4,5,6,7等,而我的是,正如前面提到的
8123
是否有一种方法我需要这样做,所以我得到了他们手工计算时的结果?我试图避免用手做这件事。我想我可能误解了你。如果您想从一整英寸中得到32分之一的数字(假设测量值是以32分之一计算的),您需要执行
dist%32
。不过,我认为你需要编辑你的问题,以便更清楚地了解你需要什么,然后我将很乐意帮助你!你的权利。起初我不确定它是否是32岁。然后,一旦我显示了整个数字,我想这可能就是为什么我没有按我需要的方式看到它的原因。但这似乎也不对。我又加了一句,如果我画一条很小的线,数字是“15”,那么我画一条很长的线,数字是“18”,这看起来很奇怪。当他们用手做的时候,我从来没有见过比8更长的东西。你有没有想过你的数学可能是错的?1072的硬编码值似乎可疑。要计算两个点之间的距离,需要类似于
Math.Sqrt(Math.Pow(x2-x1,2)+Math.Pow(y2-y1,2))
。这听起来越来越不像是一个格式问题了。好吧,一开始它对我来说是一个格式问题。但在纠正了我愚蠢的错误后,我开始怀疑这是否正确。我删除了
1072
号码,因为事实上我不需要它,直到后来,你才提到它,这唤起了我的记忆谢谢。尽管如此,我还是在应用程序上画了一条很小的线,它的2,3,4行很好。但是如果我做了一个同样长度的新的,突然18,20,16我不明白。