We use string.Format to display 2 numbers or ratio as a percentage. The 3 methods all handle percentages. But their logic is implemented in different ways.
using System;
class Program
{
static void Main()
{
// Display percentage of visits that resulted in purchases.
int purchases = 10;
int visitors = 120;
DisplayPercentage((double)purchases / visitors);
// Display 50 percent with overloaded method.
DisplayPercentage(1, 2);
// Write percentage string of nine tenths.
Console.WriteLine(GetPercentageString((double)9 / 10));
}
/// <summary>
/// This method writes the percentage form of a double to the console.
/// </summary>
static void DisplayPercentage(double ratio)
{
string percentage = string.Format(
"Percentage is {0:0.0%}", ratio);
Console.WriteLine(percentage);
}
/// <summary>
/// This method writes the percentage of the top number to the bottom number.
/// </summary>
static void DisplayPercentage(int top, int bottom)
{
DisplayPercentage((double)top / bottom);
}
/// <summary>
/// This method returns the percentage-formatted string.
/// </summary>
static string GetPercentageString(double ratio)
{
return ratio.ToString(
"0.0%");
}
}
Percentage is 8.3%
Percentage is 50.0%
90.0%