diff --git a/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs b/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs
index 40c62277a..f48492616 100644
--- a/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs
+++ b/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs
@@ -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));
diff --git a/TestBenchFramework/Utils.cs b/TestBenchFramework/Utils.cs
index 9722f0392..4618f59dc 100644
--- a/TestBenchFramework/Utils.cs
+++ b/TestBenchFramework/Utils.cs
@@ -367,91 +367,93 @@ namespace TBF
}
///
- /// 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
///
/// Float value to be converted to a string
- /// Number of valid digits: 4, 3, or 2 (otherwise a full precision number is printed)
+ /// Number of significant digits: 5, 4, 3, 2 or 1 (otherwise a full precision number is printed)
/// String representation of a float number
- 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);
+ }
- ///
- /// Converts a double number to a string with the specified number of valid digits
- ///
- /// Double 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 a double number
- public static string DoubleToStr(double value, int validDigits)
+ ///
+ /// Converts a double number to a string with the specified number of significant digits
+ ///
+ /// Double value to be converted to a string
+ /// Number of significant digits: 5, 4, 3, 2 or 1 (otherwise a full precision number is printed)
+ /// true = use alternative culture (use decimal comma)
+ /// String representation of a double number
+ 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)