-1

2 つのテキスト ボックスを比較して、同じ単語と異なる単語の数を数える方法を見つけましたが、同じ単語と異なる単語の数を正確に示すのではなく、パーセンテージを計算できますか?それらの違いは?

私が混乱した人のために、この投稿の下にこのメッセージ全体をもう一度書き、いくつかの単語を変更し、いくつかの単語を削除した場合、プログラムからフィードバックを得ることができ、違いは 14% 程度であることがわかりました...

4

2 に答える 2

2

次を使用して単語を取得できますstring.Split

String[] words1 = Textbox1.Text.Split();
String[] words2 = Textbox2.Text.Split();

Linq を使用して両方を比較できます。

var sameWordsInBoth = words1.Intersect(words2);
int count1 = sameWordsInBoth.Count();
var inTxt1ButNotInTxt2 = words1.Except(words2);
int count2 = inTxt1ButNotInTxt2.Count();
var inTxt2ButNotInTxt1 = words2.Except(words1);
int count3 = inTxt2ButNotInTxt1.Count();

パーセンテージを取得するには、合計単語数 (fe words1.Length) を数え、それを他の数と比較するだけです。

例えば:

double sameWordPercentage = (1.0 * count1 / words1.Length) * 100;
于 2012-11-08T12:15:54.867 に答える
1

あなたはすでにユニークな単語の量を持っていると言ったので、それらを取得する方法についての説明は必要ありません:

double UniqueWordCount = 71;
double TotalWordCount = 231;

double Percentile = (UniqueWordCount/TotalWordCount)*100;

答え : 30.7359.... %

丸めたい場合

Math.Round(Percentile,2)

答え : 30.74 %

于 2012-11-08T12:15:35.403 に答える