2017-01-16 8 views
1

私は線の間の距離を測定しています。しかし、私の数学は正しいと信じています(あなたが行のコメントから分かるように)私は必要な結果を得るのに苦労しています。私は整数を必要とします。 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 +です。たぶん私はdist私は方法を測定してはいけませんか?

+0

'dist'を出力しただけでは、整数が得られます。 –

+0

私の答えにあなたのコメントの後、あなたが達成しようとしているものについては、あなたが整数を意味するかのように表示されないため、あなたは '整数 'によって何を意味するかについてもっと明確になりますか? –

答えて

0

あなたはこれを複雑にしていると思います。

あなたがする必要があるのはlblLength.Text = distです。

intは、定義により整数です。

+0

私が入手した数字は、最近の試みで 'dist 'しか表示されていないのは' 8123'でした。手作業でこれをやっていたときの方法は、最も近い' 32インチに測定していました。だから、紙の計算上のすべては4,5,6,7のようなものでした。そして、私の言うところのように、私はこれを行う必要がある方法があるので、彼らが行っていたときの結果を得る手でそれを?手作業でやるのをやめようとしています。 – Lee

+0

私はあなたが誤解しているかもしれないと思います。あなたが32インチの数を1インチから得るには(測定値が32thで計算されていると仮定して) 'dist%32'を実行します。しかし、私はあなたの質問を編集して、あなたが必要とするものをより明確にする必要があると思います。そして、私はあなたを助けてくれるでしょう! –

+0

あなたの権利。最初は、それが32であったかどうかは関係ありませんでした。そして、一度私は数字を表示したので、それが私が必要としている方法で見ていなかった理由かもしれません。しかしこれは正しいとは思わない。私はそれを付け加えました、もし私が小さな小さな線を作るならば、その数は "15"です。そして私は長い線を作り、数は "18"です。彼らが手で行ったとき、私は8歳以上のものは見たことがありませんでした。 – Lee

関連する問題