0

我想找到将计算百分比并以以下格式给出结果的统计数据:WX GSA 搜索 % = GSA 出现次数 / GSA 出现次数 + 搜索出现次数 + ADVSearch 出现次数 * 100 即在这种情况下它应该给出:3 / 3 + 2 + 2 * 100 = 42.8

我已经尝试过会出现每次搜索的代码:

我的代码在这里:

 class Program
{
    static void Main()
    {
        System.IO.StreamReader myFile =
        new System.IO.StreamReader(@"C:\Users\karansha\Desktop\sample log.txt");
        string myString = myFile.ReadToEnd();
        Console.WriteLine(TextTool.CountStringOccurrences(myString, "WX Search"));   // WX Rule Based Search.
        Console.WriteLine(TextTool.CountStringOccurrences(myString, "WX GSA Search"));  // WX GSA Search.
        Console.WriteLine(TextTool.CountStringOccurrences(myString, "WX ADVSearch"));   //WX Form Based Search.
        // keep screen from going away
        // when run from VS.NET
        Console.ReadLine();
    }
}
public static class TextTool
{
    public static int CountStringOccurrences(string text, string pattern)
    {
        int count = 0;
        int i = 0;
        while ((i = text.IndexOf(pattern, i)) != -1)
        {
            i += pattern.Length;
            count++;
        }
        return count;
    }
}
4

2 回答 2

0

您可以使用String.Format方法在 .NET 中格式化字符串。

int score = 50;
string formattedString = String.Format("My Score : {0}", score);
Console.WriteLine(formattedString); 
//My Score : 50
于 2013-03-05T07:09:39.077 回答
0

我真的不明白这个问题。您只是想计算公式并将其显示在控制台屏幕上吗?如果你的意思是这里是你需要的代码:

static void Main()
{
    System.IO.StreamReader myFile =
    new System.IO.StreamReader(@"C:\Users\karansha\Desktop\sample log.txt");
    string myString = myFile.ReadToEnd();
    int wxSearchCount = TextTool.CountStringOccurrences(myString, "WX Search");   // WX Rule Based Search.
    int wxGsaSearchCount = TextTool.CountStringOccurrences(myString, "WX GSA Search");  // WX GSA Search.
    int wxAdvSearchCount = TextTool.CountStringOccurrences(myString, "WX ADVSearch");   //WX Form Based Search.

            double result = Convert.ToDouble(wxGsaSearchCount * 100) / Convert.ToDouble((wxGsaSearchCount + wxSearchCount + wxAdvSearchCount));

            Console.WriteLine("WX Search: {0}\nWX GSA Search: {1}\nWX ADVSearch: {2}\nResult: {3}",
                                wxSearchCount, wxGsaSearchCount, wxAdvSearchCount, result.ToString("0.00"));

    Console.ReadLine();
}
于 2013-03-05T07:26:05.743 回答