63 lines
2.8 KiB
C#
63 lines
2.8 KiB
C#
///
|
|
/// Copyright (c) 2016 Sensus Metering Systems
|
|
///
|
|
using System;
|
|
using System.Text;
|
|
using Config.Entities;
|
|
|
|
namespace Results
|
|
{
|
|
public static class Utils
|
|
{
|
|
public static string GetTestName(string name, int repeats, int repetitionNr)
|
|
{
|
|
if (repeats == 1) return name;
|
|
return string.Format("{0} ({1}/{2})", name, repetitionNr, repeats);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Converts float number to a string with the specified number of valid digits
|
|
/// </summary>
|
|
/// <param name="value">Float value to be converted to a string</param>
|
|
/// <param name="validDigits">Number of valid digits: 4, 3, or 2 (otherwise a full precision number is printed)</param>
|
|
/// <returns>String representation of the float number</returns>
|
|
public static string DoubleToStr(double value, int validDigits)
|
|
{
|
|
if (-float.Epsilon <= value && value <= float.Epsilon)
|
|
{
|
|
return "0";
|
|
}
|
|
else if (validDigits == 4)
|
|
{
|
|
if (value >= 999.5 || value < -999.5) return value.ToString("F0");
|
|
else if (value >= 99.95 || value < -99.95) return value.ToString("F1");
|
|
else if (value >= 9.995 || value < -9.995) return value.ToString("F2");
|
|
else if (value >= 0.9995 || value < -0.9995) return value.ToString("F3");
|
|
else if (value >= 0.09995 || value < -0.09995) return value.ToString("F4");
|
|
else if (value >= 0.009995 || value < -0.009995) return value.ToString("F5");
|
|
else return value.ToString("F6");
|
|
}
|
|
else if (validDigits == 3)
|
|
{
|
|
if (value >= 99.5 || value < -99.5) return value.ToString("F0");
|
|
else if (value >= 9.95 || value < -9.95) return value.ToString("F1");
|
|
else if (value >= 0.995 || value < -0.995) return value.ToString("F2");
|
|
else if (value >= 0.0995 || value < -0.0995) return value.ToString("F3");
|
|
else if (value >= 0.00995 || value < -0.00995) return value.ToString("F4");
|
|
else if (value >= 0.000995 || value < -0.000995) return value.ToString("F5");
|
|
else return value.ToString("F6");
|
|
}
|
|
else if (validDigits == 2)
|
|
{
|
|
if (value >= 9.5 || value < -9.5) return value.ToString("F0");
|
|
else if (value >= 0.95 || value < -0.95) return value.ToString("F1");
|
|
else if (value >= 0.095 || value < -0.095) return value.ToString("F2");
|
|
else if (value >= 0.0095 || value < -0.0095) return value.ToString("F3");
|
|
else if (value >= 0.00095 || value < -0.00095) return value.ToString("F4");
|
|
else return value.ToString("F5");
|
|
}
|
|
else return value.ToString();
|
|
}
|
|
}
|
|
}
|