SensusOracle.Database : Minor changes in LU logging, Utils.DoubleToStr() modifications.

This commit is contained in:
Milan Hanajik 2016-10-27 14:54:37 +02:00
parent 63b5507f78
commit 5620ba61fa
2 changed files with 91 additions and 89 deletions

View File

@ -297,9 +297,9 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("PrüfbereichMax-2=0")); /// 0
logger.WriteLine(string.Format("QBezeichnung-2=")); ///
logger.WriteLine(string.Format("Durchfluss-1={0}", (1000 * adj.Qto()).ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Durchfluss-1={0}", Units.ConvertTo(Unit.lph, adj.Qto()).ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Prüfzeit-1={0}", adj.TargetTime().ToString("F0")));
logger.WriteLine(string.Format("Prüfbereich100_110-1=0"));
logger.WriteLine(string.Format("Prüfbereich100_110-1={0}", 0));
logger.WriteLine(string.Format("PrüfbereichMin-1={0}", 90));
logger.WriteLine(string.Format("PrüfbereichMax-1={0}", 100));
logger.WriteLine(string.Format("QBezeichnung-1=Just"));
@ -311,7 +311,7 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("PrüfbereichMax-0=0"));
logger.WriteLine(string.Format("QBezeichnung-0="));
logger.WriteLine(string.Format("Durchfluss1={0}", (1000 * q1.Qfrom()).ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Durchfluss1={0}", Units.ConvertTo(Unit.lph, q1.Qfrom()).ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Prüfzeit1={0}", q1.TargetTime().ToString("F0")));
logger.WriteLine(string.Format("Prüfbereich100_1101={0}", 1));
logger.WriteLine(string.Format("PrüfbereichMin1={0}", 100));
@ -322,7 +322,7 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("PosFehlergrenzeWarm1=0,0"));
logger.WriteLine(string.Format("NegFehlergrenzeWarm1=0,0"));
logger.WriteLine(string.Format("Durchfluss2={0}", (1000 * q2.Qfrom()).ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Durchfluss2={0}", Units.ConvertTo(Unit.lph, q2.Qfrom()).ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Prüfzeit2={0}", q2.TargetTime().ToString("F0")));
logger.WriteLine(string.Format("Prüfbereich100_1102={0}", 1));
logger.WriteLine(string.Format("PrüfbereichMin2={0}", 100));
@ -333,9 +333,9 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("PosFehlergrenzeWarm2=0,0"));
logger.WriteLine(string.Format("NegFehlergrenzeWarm2=0,0"));
logger.WriteLine(string.Format("Durchfluss3={0}", (1000 * q3.Qto()).ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Durchfluss3={0}", Units.ConvertTo(Unit.lph, q3.Qto()).ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Prüfzeit3={0}", q3.TargetTime().ToString("F0")));
logger.WriteLine(string.Format("Prüfbereich100_1103={0}", 1));
logger.WriteLine(string.Format("Prüfbereich100_1103={0}", 0));
logger.WriteLine(string.Format("PrüfbereichMin3={0}", 90));
logger.WriteLine(string.Format("PrüfbereichMax3={0}", 100));
logger.WriteLine(string.Format("QBezeichnung3=Q3"));
@ -385,10 +385,10 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("EndKriterium={0}", 0)); /// 0
logger.WriteLine(string.Format("Justieren={0}", 1)); /// 1
logger.WriteLine(string.Format("Bemerkung=")); ///
logger.WriteLine(string.Format("Gesamtprüfzeit={0}", 3)); /// 2042
logger.WriteLine(string.Format("Gegenprüfung={0}", 3)); /// 0
logger.WriteLine(string.Format("Geändert_von={0}", 3)); /// 4459
logger.WriteLine(string.Format("Geändert_am={0}", 3)); /// 29.05.2015 13:46:17
logger.WriteLine(string.Format("Gesamtprüfzeit={0}", (adj.TargetTime() + q1.TargetTime() + q2.TargetTime() + q3.TargetTime()).ToString("F0")));
logger.WriteLine(string.Format("Gegenprüfung={0}", 0)); /// 0
logger.WriteLine(string.Format("Geändert_von={0}", 6)); /// 4459
logger.WriteLine(string.Format("Geändert_am={0:dd.MM.yyyy HH:mm:ss}", DateTime.Now)); /// 29.05.2015 13:46:17
for (int i = 0; i < batch.WaterMeters.Count; i++)
{
@ -419,7 +419,7 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("GeprüftIndex=1")); /// 1
logger.WriteLine(string.Format("Q-1bestanden=1"));
logger.WriteLine(string.Format("Durchfluss-1={0}", (1000 * adj.FlowVolume()).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Durchfluss-1={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, adj.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("Fehler-1={0}", adj.Error.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("ZeitImpulse-1={0}", adj.TestTime.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Impulse-1=0"));
@ -429,13 +429,13 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("Q-1KorrBestanden={0}", 0));
logger.WriteLine(string.Format("Anfangsstand-1={0}", 0)); /// TODO
logger.WriteLine(string.Format("Endstand-1={0}", 0)); /// TODO
logger.WriteLine(string.Format("QMittelwert-1={0}", (1000 * adj.FlowVolume()).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("QMittelwert-1={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, adj.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("QStandardAbweichung-1={0}", 0));
logger.WriteLine(string.Format("ImpedanzMittelwert-1=0,00000"));
logger.WriteLine(string.Format("AusfallGrund-1={0}", 0));
logger.WriteLine(string.Format("Q1bestanden={0}", q1.Passed ? 1 : 0));
logger.WriteLine(string.Format("Durchfluss1={0}", (1000 * q1.FlowVolume()).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Durchfluss1={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q1.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("Fehler1={0}", q1.Error.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("ZeitImpulse1={0}", q1.TestTime.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Impulse1={0}", 0));
@ -445,13 +445,13 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("Q1KorrBestanden={0}", 0));
logger.WriteLine(string.Format("Anfangsstand1={0}", 0)); /// TODO
logger.WriteLine(string.Format("Endstand1={0}", 0)); /// TODO
logger.WriteLine(string.Format("QMittelwert1={0}", (1000 * q1.FlowVolume()).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("QMittelwert1={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q1.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("QStandardAbweichung1={0}", 0));
logger.WriteLine(string.Format("ImpedanzMittelwert1=0,00000"));
logger.WriteLine(string.Format("AusfallGrund1={0}", 0));
logger.WriteLine(string.Format("Q2bestanden={0}", q2.Passed ? 1 : 0));
logger.WriteLine(string.Format("Durchfluss2={0}", (1000 * q2.FlowVolume()).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Durchfluss2={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q2.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("Fehler2={0}", q2.Error.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("ZeitImpulse2={0}", q2.TestTime.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Impulse2={0}", 0));
@ -461,13 +461,13 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("Q2KorrBestanden={0}", 0));
logger.WriteLine(string.Format("Anfangsstand2={0}", 0)); /// TODO
logger.WriteLine(string.Format("Endstand2={0}", 0)); /// TODO
logger.WriteLine(string.Format("QMittelwert2={0}", (1000 * q2.FlowVolume()).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("QMittelwert2={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q2.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("QStandardAbweichung2={0}", 0));
logger.WriteLine(string.Format("ImpedanzMittelwert2=0,00000"));
logger.WriteLine(string.Format("AusfallGrund2={0}", 0));
logger.WriteLine(string.Format("Q3bestanden={0}", q3.Passed ? 1 : 0));
logger.WriteLine(string.Format("Durchfluss3={0}", (1000 * q3.FlowVolume()).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Durchfluss3={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q3.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("Fehler3={0}", q3.Error.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("ZeitImpulse3={0}", q3.TestTime.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Impulse3={0}", 0));
@ -477,7 +477,7 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("Q3KorrBestanden={0}", 0));
logger.WriteLine(string.Format("Anfangsstand3={0}", 0)); /// TODO
logger.WriteLine(string.Format("Endstand3={0}", 0)); /// TODO
logger.WriteLine(string.Format("QMittelwert3={0}", (1000 * q3.FlowVolume()).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("QMittelwert3={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q3.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("QStandardAbweichung3={0}", 0));
logger.WriteLine(string.Format("ImpedanzMittelwert3=0,00000"));
logger.WriteLine(string.Format("AusfallGrund3={0}", 0));

View File

@ -367,91 +367,93 @@ namespace TBF
}
/// <summary>
/// Converts a float number to a string with the specified number of valid digits
/// Converts number to a string with the specified number of significant 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>
/// <param name="significantDigits">Number of significant digits: 5, 4, 3, 2 or 1 (otherwise a full precision number is printed)</param>
/// <returns>String representation of a float number</returns>
public static string FloatToStr(float value, int validDigits)
public static string FloatToStr(float value, int significantDigits)
{
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();
return DoubleToStr(value, significantDigits);
}
public static string FloatToStr(float value, int significantDigits, bool altCulture)
{
return DoubleToStr(value, significantDigits, altCulture);
}
public static string DoubleToStr(double value, int significantDigits)
{
return DoubleToStr(value, significantDigits, false);
}
/// <summary>
/// Converts a double number to a string with the specified number of valid digits
/// </summary>
/// <param name="value">Double 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 a double number</returns>
public static string DoubleToStr(double value, int validDigits)
/// <summary>
/// Converts a double number to a string with the specified number of significant digits
/// </summary>
/// <param name="value">Double value to be converted to a string</param>
/// <param name="significantDigits">Number of significant digits: 5, 4, 3, 2 or 1 (otherwise a full precision number is printed)</param>
/// <param name="altCulture">true = use alternative culture (use decimal comma)</param>
/// <returns>String representation of a double number</returns>
public static string DoubleToStr(double value, int significantDigits, bool altCulture)
{
if (-float.Epsilon <= value && value <= float.Epsilon)
{
return "0";
}
else if (validDigits == 4)
else if (significantDigits == 5)
{
if (value >= 9999.5 || value < -9999.5) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0");
else if (value >= 999.95 || value < -999.95) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1");
else if (value >= 99.995 || value < -99.995) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2");
else if (value >= 9.9995 || value < -9.9995) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3");
else if (value >= 0.99995 || value < -0.99995) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4");
else if (value >= 0.099995 || value < -0.099995) return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5");
else if (value >= 0.0099995 || value < -0.0099995) return altCulture ? value.ToString("F6", Program.AltCulture) : value.ToString("F6");
else if (value >= 0.00099995 || value < -0.00099995) return altCulture ? value.ToString("F7", Program.AltCulture) : value.ToString("F7");
else if (value >= 0.000099995 || value < -0.000099995) return altCulture ? value.ToString("F8", Program.AltCulture) : value.ToString("F8");
else return altCulture ? value.ToString("F9", Program.AltCulture) : value.ToString("F9");
}
else if (significantDigits == 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 >= 999.5 || value < -999.5) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0");
else if (value >= 99.95 || value < -99.95) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1");
else if (value >= 9.995 || value < -9.995) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2");
else if (value >= 0.9995 || value < -0.9995) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3");
else if (value >= 0.09995 || value < -0.09995) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4");
else if (value >= 0.009995 || value < -0.009995) return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5");
else if (value >= 0.0009995 || value < -0.0009995) return altCulture ? value.ToString("F6", Program.AltCulture) : value.ToString("F6");
else if (value >= 0.00009995 || value < -0.00009995) return altCulture ? value.ToString("F7", Program.AltCulture) : value.ToString("F7");
else return altCulture ? value.ToString("F8", Program.AltCulture) : value.ToString("F8");
}
else if (significantDigits == 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 >= 99.5 || value < -99.5) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0");
else if (value >= 9.95 || value < -9.95) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1");
else if (value >= 0.995 || value < -0.995) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2");
else if (value >= 0.0995 || value < -0.0995) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3");
else if (value >= 0.00995 || value < -0.00995) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4");
else if (value >= 0.000995 || value < -0.000995) return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5");
else if (value >= 0.0000995 || value < -0.0000995) return altCulture ? value.ToString("F6", Program.AltCulture) : value.ToString("F6");
else return altCulture ? value.ToString("F7", Program.AltCulture) : value.ToString("F7");
}
else if (significantDigits == 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();
if (value >= 9.5 || value < -9.5) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0");
else if (value >= 0.95 || value < -0.95) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1");
else if (value >= 0.095 || value < -0.095) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2");
else if (value >= 0.0095 || value < -0.0095) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3");
else if (value >= 0.00095 || value < -0.00095) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4");
else if (value >= 0.000095 || value < -0.000095) return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5");
else return altCulture ? value.ToString("F6", Program.AltCulture) : value.ToString("F6");
}
else if (significantDigits == 1)
{
if (value >= 0.95 || value < -0.95) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0");
else if (value >= 0.095 || value < -0.095) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1");
else if (value >= 0.0095 || value < -0.0095) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2");
else if (value >= 0.00095 || value < -0.00095) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3");
else if (value >= 0.000095 || value < -0.000095) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4");
else return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5");
}
else return value.ToString();
}
public static string ShowRoute(ulong route)