Sometimes, depending on the values of MaxTicks and CurrentTick, progress bars fails to complete due to floating point arithmetic issues.
Here is a screenshot from my debugger where the Percentage property should be 100, but is slightly off. This PR aims to fix that.
Code to reproduce:
const int max = 369;
ProgressBar progress = new ProgressBar(max, "test", new ProgressBarOptions
{
ProgressBarOnBottom = true,
BackgroundColor = ConsoleColor.DarkGray
});
for (int i = 0; i < max; i++)
{
progress.Tick();
Thread.Sleep(1);
}
Console.WriteLine($"Progress bar Percentage: {progress.Percentage}");
Console.WriteLine($"Progress bar CurrentTick and MaxTicks: {progress.CurrentTick} / {progress.MaxTicks}");
Tested with ShellProgressBar 5.2.0 and .NET 8.0.200.
Hello!
Sometimes, depending on the values of
MaxTicks
andCurrentTick
, progress bars fails to complete due to floating point arithmetic issues.Here is a screenshot from my debugger where the![image](https://github.com/Mpdreamz/shellprogressbar/assets/66096725/68f2b2d3-3520-4f77-896c-2a7579430a01)
Percentage
property should be 100, but is slightly off. This PR aims to fix that.Code to reproduce:
Tested with ShellProgressBar
5.2.0
and .NET8.0.200
.