/// /// 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); } /// /// Converts float number to a string with the specified number of valid digits /// /// Float value to be converted to a string /// Number of valid digits: 4, 3, or 2 (otherwise a full precision number is printed) /// String representation of the float number 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(); } } }