Skip to content

Commit 2bc8a08

Browse files
committed
data formats have been adjusted to reduce the amount of useless digits in floating point numbers with zeros
1 parent 883b84b commit 2bc8a08

File tree

5 files changed

+77
-155
lines changed

5 files changed

+77
-155
lines changed

OpenHardwareMonitor/UI/SensorGadget.cs

Lines changed: 26 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -590,65 +590,31 @@ protected override void OnPaint(PaintEventArgs e)
590590

591591
if (sensor.Value.HasValue)
592592
{
593-
string format = "";
594-
switch (sensor.SensorType)
593+
string format = sensor.SensorType switch
595594
{
596-
case SensorType.Voltage:
597-
format = "{0:F3} V";
598-
break;
599-
case SensorType.Current:
600-
format = "{0:F3} A";
601-
break;
602-
case SensorType.Clock:
603-
format = "{0:F0} MHz";
604-
break;
605-
case SensorType.Frequency:
606-
format = "{0:F0} Hz";
607-
break;
608-
case SensorType.Temperature:
609-
format = "{0:F1} °C";
610-
break;
611-
case SensorType.Fan:
612-
format = "{0:F0} RPM";
613-
break;
614-
case SensorType.Flow:
615-
format = "{0:F0} L/h";
616-
break;
617-
case SensorType.Power:
618-
format = "{0:F1} W";
619-
break;
620-
case SensorType.Data:
621-
format = "{0:F1} GB";
622-
break;
623-
case SensorType.SmallData:
624-
format = "{0:F0} MB";
625-
break;
626-
case SensorType.Factor:
627-
format = "{0:F3}";
628-
break;
629-
case SensorType.IntFactor:
630-
format = "{0:F0}";
631-
break;
632-
case SensorType.TimeSpan:
633-
format = "{0:g}";
634-
break;
635-
case SensorType.Timing:
636-
format = "{0:F3} ns";
637-
break;
638-
case SensorType.Energy:
639-
format = "{0:F0} mWh";
640-
break;
641-
case SensorType.Noise:
642-
format = "{0:F0} dBA";
643-
break;
644-
case SensorType.Conductivity:
645-
format = "{0:F1} µS/cm";
646-
break;
647-
}
595+
SensorType.Voltage => "{0:0.###} V",
596+
SensorType.Current => "{0:0.###} A",
597+
SensorType.Clock => "{0:F0} MHz",
598+
SensorType.Frequency => "{0:F0} Hz",
599+
SensorType.Temperature => "{0:0.#} °C",
600+
SensorType.Fan => "{0:F0} RPM",
601+
SensorType.Flow => "{0:F0} L/h",
602+
SensorType.Power => "{0:0.#} W",
603+
SensorType.Data => "{0:0.#} GB",
604+
SensorType.SmallData => "{0:F0} MB",
605+
SensorType.Factor => "{0:0.###}",
606+
SensorType.IntFactor => "{0:F0}",
607+
SensorType.TimeSpan => "{0:g}",
608+
SensorType.Timing => "{0:0.###} ns",
609+
SensorType.Energy => "{0:F0} mWh",
610+
SensorType.Noise => "{0:F0} dBA",
611+
SensorType.Conductivity => "{0:0.#} µS/cm",
612+
_ => ""
613+
};
648614

649615
if (sensor.SensorType == SensorType.Temperature && UnitManager.IsFahrenheitUsed)
650616
{
651-
formatted = $"{UnitManager.CelsiusToFahrenheit(sensor.Value):F1} °F";
617+
formatted = $"{UnitManager.CelsiusToFahrenheit(sensor.Value):0.#} °F";
652618
}
653619
else if (sensor.SensorType == SensorType.Throughput)
654620
{
@@ -670,11 +636,11 @@ protected override void OnPaint(PaintEventArgs e)
670636
if (sensor.Value < 1024)
671637
result = $"{sensor.Value:F0} bps";
672638
else if (sensor.Value < 1048576)
673-
result = $"{sensor.Value / 1024:F1} Kbps";
639+
result = $"{sensor.Value / 1024:0.#} Kbps";
674640
else if (sensor.Value < 1073741824)
675-
result = $"{sensor.Value / 1048576:F1} Mbps";
641+
result = $"{sensor.Value / 1048576:0.#} Mbps";
676642
else
677-
result = $"{sensor.Value / 1073741824:F1} Gbps";
643+
result = $"{sensor.Value / 1073741824:0.#} Gbps";
678644
}
679645
break;
680646
}
@@ -683,9 +649,9 @@ protected override void OnPaint(PaintEventArgs e)
683649
default:
684650
{
685651
if (sensor.Value < 1048576)
686-
result = $"{sensor.Value / 1024:F1} KB/s";
652+
result = $"{sensor.Value / 1024:0.#} KB/s";
687653
else
688-
result = $"{sensor.Value / 1048576:F1} MB/s";
654+
result = $"{sensor.Value / 1048576:0.#} MB/s";
689655
}
690656
break;
691657
}

OpenHardwareMonitor/UI/SensorNode.cs

Lines changed: 30 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -15,76 +15,32 @@ public SensorNode(ISensor sensor, PersistentSettings settings)
1515
{
1616
Sensor = sensor;
1717
_settings = settings;
18-
19-
switch (sensor.SensorType)
18+
Format = sensor.SensorType switch
2019
{
21-
case SensorType.Voltage:
22-
Format = "{0:F3} V";
23-
break;
24-
case SensorType.Current:
25-
Format = "{0:F3} A";
26-
break;
27-
case SensorType.Clock:
28-
Format = "{0:F1} MHz";
29-
break;
30-
case SensorType.Load:
31-
Format = "{0:F1} %";
32-
break;
33-
case SensorType.Temperature:
34-
Format = "{0:F1} °C";
35-
break;
36-
case SensorType.Fan:
37-
Format = "{0:F0} RPM";
38-
break;
39-
case SensorType.Flow:
40-
Format = "{0:F1} L/h";
41-
break;
42-
case SensorType.Control:
43-
Format = "{0:F1} %";
44-
break;
45-
case SensorType.Level:
46-
Format = "{0:F1} %";
47-
break;
48-
case SensorType.Power:
49-
Format = "{0:F1} W";
50-
break;
51-
case SensorType.Data:
52-
Format = "{0:F1} GB";
53-
break;
54-
case SensorType.SmallData:
55-
Format = "{0:F1} MB";
56-
break;
57-
case SensorType.Factor:
58-
Format = "{0:F3}";
59-
break;
60-
case SensorType.IntFactor:
61-
Format = "{0:F0}";
62-
break;
63-
case SensorType.Frequency:
64-
Format = "{0:F1} Hz";
65-
break;
66-
case SensorType.Throughput:
67-
Format = "{0:F1} B/s";
68-
break;
69-
case SensorType.TimeSpan:
70-
Format = "{0:g}";
71-
break;
72-
case SensorType.Timing:
73-
Format = "{0:F3} ns";
74-
break;
75-
case SensorType.Energy:
76-
Format = "{0:F0} mWh";
77-
break;
78-
case SensorType.Noise:
79-
Format = "{0:F0} dBA";
80-
break;
81-
case SensorType.Conductivity:
82-
Format = "{0:F1} µS/cm";
83-
break;
84-
case SensorType.Humidity:
85-
Format = "{0:F0} %";
86-
break;
87-
}
20+
SensorType.Voltage => "{0:0.###} V",
21+
SensorType.Current => "{0:0.###} A",
22+
SensorType.Clock => "{0:0.#} MHz",
23+
SensorType.Load => "{0:0.#} %",
24+
SensorType.Temperature => "{0:0.#} °C",
25+
SensorType.Fan => "{0:F0} RPM",
26+
SensorType.Flow => "{0:0.#} L/h",
27+
SensorType.Control => "{0:0.#} %",
28+
SensorType.Level => "{0:0.#} %",
29+
SensorType.Power => "{0:0.#} W",
30+
SensorType.Data => "{0:0.#} GB",
31+
SensorType.SmallData => "{0:0.#} MB",
32+
SensorType.Factor => "{0:0.###}",
33+
SensorType.IntFactor => "{0:F0}",
34+
SensorType.Frequency => "{0:0.#} Hz",
35+
SensorType.Throughput => "{0:0.#} B/s",
36+
SensorType.TimeSpan => "{0:g}",
37+
SensorType.Timing => "{0:0.###} ns",
38+
SensorType.Energy => "{0:F0} mWh",
39+
SensorType.Noise => "{0:F0} dBA",
40+
SensorType.Conductivity => "{0:0.#} µS/cm",
41+
SensorType.Humidity => "{0:F0} %",
42+
_ => Format
43+
};
8844

8945
bool hidden = settings.GetValue(new Identifier(sensor.Identifier, "hidden").ToString(), sensor.IsDefaultHidden);
9046
base.IsVisible = !hidden;
@@ -168,7 +124,7 @@ public string ValueToString(float? value)
168124
{
169125
case SensorType.Temperature when UnitManager.IsFahrenheitUsed:
170126
{
171-
return $"{value * 1.8 + 32:F1} °F";
127+
return $"{value * 1.8 + 32:0.#} °F";
172128
}
173129
case SensorType.Throughput:
174130
{
@@ -194,11 +150,11 @@ public string ValueToString(float? value)
194150
if (value < 1024)
195151
result = $"{value:F0} bps";
196152
else if (value < 1048576)
197-
result = $"{value / 1024:F1} Kbps";
153+
result = $"{value / 1024:0.#} Kbps";
198154
else if (value < 1073741824)
199-
result = $"{value / 1048576:F1} Mbps";
155+
result = $"{value / 1048576:0.#} Mbps";
200156
else
201-
result = $"{value / 1073741824:F1} Gbps";
157+
result = $"{value / 1073741824:0.#} Gbps";
202158
}
203159

204160
break;
@@ -210,7 +166,7 @@ public string ValueToString(float? value)
210166
{
211167
const int _1MB = 1048576;
212168

213-
result = value < _1MB ? $"{value / 1024:F1} KB/s" : $"{value / _1MB:F1} MB/s";
169+
result = value < _1MB ? $"{value / 1024:0.#} KB/s" : $"{value / _1MB:0.#} MB/s";
214170

215171
break;
216172
}

OpenHardwareMonitor/UI/SensorNotifyIcon.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ private string GetString()
114114
{
115115
SensorType.Temperature => UnitManager.IsFahrenheitUsed ? $"{UnitManager.CelsiusToFahrenheit(Sensor.Value):F0}" : Sensor.Value.Value.ToTrayValue(),
116116
SensorType.TimeSpan => $"{TimeSpan.FromSeconds(Sensor.Value.Value):g}",
117-
SensorType.Timing => $"{Sensor.Value.Value:F3}",
118-
SensorType.Clock or SensorType.Fan or SensorType.Flow => $"{1e-3f * Sensor.Value:F1}",
117+
SensorType.Timing => $"{Sensor.Value.Value:0.###}",
118+
SensorType.Clock or SensorType.Fan or SensorType.Flow => $"{1e-3f * Sensor.Value:0.#}",
119119
SensorType.Throughput => GetThroughputValue(Sensor.Value ?? 0),
120120
_ => Sensor.Value.Value.ToTrayValue(),
121121
};
@@ -155,29 +155,29 @@ public void Update()
155155
icon?.Destroy();
156156
string format = Sensor.SensorType switch
157157
{
158-
SensorType.Voltage => "\n{0}: {1:F2} V",
159-
SensorType.Current => "\n{0}: {1:F2} A",
158+
SensorType.Voltage => "\n{0}: {1:0.##} V",
159+
SensorType.Current => "\n{0}: {1:0.##} A",
160160
SensorType.Clock => "\n{0}: {1:F0} MHz",
161-
SensorType.Load => "\n{0}: {1:F1} %",
162-
SensorType.Temperature => "\n{0}: {1:F1} °C",
161+
SensorType.Load => "\n{0}: {1:0.#} %",
162+
SensorType.Temperature => "\n{0}: {1:0.#} °C",
163163
SensorType.Fan => "\n{0}: {1:F0} RPM",
164164
SensorType.Flow => "\n{0}: {1:F0} L/h",
165-
SensorType.Control => "\n{0}: {1:F1} %",
166-
SensorType.Level => "\n{0}: {1:F1} %",
167-
SensorType.Power => "\n{0}: {1:F2} W",
168-
SensorType.Data => "\n{0}: {1:F2} GB",
169-
SensorType.Factor => "\n{0}: {1:F3}",
165+
SensorType.Control => "\n{0}: {1:0.#} %",
166+
SensorType.Level => "\n{0}: {1:0.#} %",
167+
SensorType.Power => "\n{0}: {1:0.##} W",
168+
SensorType.Data => "\n{0}: {1:0.##} GB",
169+
SensorType.Factor => "\n{0}: {1:0.###}",
170170
SensorType.IntFactor => "\n{0}: {1:F0}",
171171
SensorType.Energy => "\n{0}: {0:F0} mWh",
172172
SensorType.Noise => "\n{0}: {0:F0} dBA",
173-
SensorType.Conductivity => "\n{0}: {0:F1} µS/cm",
173+
SensorType.Conductivity => "\n{0}: {0:0.#} µS/cm",
174174
SensorType.Humidity => "\n{0}: {0:F0} %",
175-
SensorType.Timing => "\n{0}: {0:F3} ns",
175+
SensorType.Timing => "\n{0}: {0:0.###} ns",
176176
_ => "\n{0}: {1}",
177177
};
178178
string formattedValue = Sensor.SensorType switch
179179
{
180-
SensorType.Temperature when UnitManager.IsFahrenheitUsed => string.Format("\n{0}: {1:F1} °F", Sensor.Name, UnitManager.CelsiusToFahrenheit(Sensor.Value)),
180+
SensorType.Temperature when UnitManager.IsFahrenheitUsed => string.Format("\n{0}: {1:0.#} °F", Sensor.Name, UnitManager.CelsiusToFahrenheit(Sensor.Value)),
181181
SensorType.Throughput when !"Connection Speed".Equals(Sensor.Name) => $"\n{Sensor.Name}: {GetThroughputValue(Sensor.Value ?? 0, 0, true)}/s",
182182
_ => string.Format(format, Sensor.Name, Sensor.Value),
183183
};

OpenHardwareMonitor/UI/TypeNode.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public TypeNode(SensorType sensorType, Identifier parentId, PersistentSettings s
8787
Text = "Times";
8888
break;
8989
case SensorType.Timing:
90-
Image = Utilities.EmbeddedResources.GetImage("time.png");
90+
Image = EmbeddedResources.GetImage("time.png");
9191
Text = "Timings";
9292
break;
9393
case SensorType.Noise:

OpenHardwareMonitorLib/Hardware/Battery/BatteryGroup.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ public string GetReport()
175175
.Append(" Chemistry: ").AppendLine(chemistry);
176176

177177
if (bat.DegradationLevel.HasValue)
178-
reportBuilder.Append(" Degradation Level: ").AppendFormat("{0:F2}", bat.DegradationLevel).AppendLine(" %");
178+
reportBuilder.Append(" Degradation Level: ").AppendFormat("{0:0.##}", bat.DegradationLevel).AppendLine(" %");
179179

180180
if (bat.DesignedCapacity.HasValue)
181181
reportBuilder.Append(" Designed Capacity: ").Append(bat.DesignedCapacity).AppendLine(" mWh");
@@ -187,13 +187,13 @@ public string GetReport()
187187
reportBuilder.Append(" Remaining Capacity: ").Append(bat.RemainingCapacity).AppendLine(" mWh");
188188

189189
if (bat.ChargeLevel.HasValue)
190-
reportBuilder.Append(" Charge Level: ").AppendFormat("{0:F2}", bat.ChargeLevel).AppendLine(" %");
190+
reportBuilder.Append(" Charge Level: ").AppendFormat("{0:0.##}", bat.ChargeLevel).AppendLine(" %");
191191

192192
if (bat.Voltage.HasValue)
193-
reportBuilder.Append(" Voltage: ").AppendFormat("{0:F3}", bat.Voltage).AppendLine(" V");
193+
reportBuilder.Append(" Voltage: ").AppendFormat("{0:0.###}", bat.Voltage).AppendLine(" V");
194194

195195
if (bat.Temperature.HasValue)
196-
reportBuilder.Append(" Temperature: ").AppendFormat("{0:F3}", bat.Temperature).AppendLine(" ºC");
196+
reportBuilder.Append(" Temperature: ").AppendFormat("{0:0.###}", bat.Temperature).AppendLine(" ºC");
197197

198198
if (bat.RemainingTime.HasValue)
199199
reportBuilder.Append(" Remaining Time (Estimated): ").AppendFormat("{0:g}", TimeSpan.FromSeconds(bat.RemainingTime.Value)).AppendLine();
@@ -217,10 +217,10 @@ public string GetReport()
217217
}
218218

219219
if (bat.ChargeDischargeRate.HasValue)
220-
reportBuilder.Append(cdRateSensorName).AppendFormat("{0:F1}", Math.Abs(bat.ChargeDischargeRate.Value)).AppendLine(" W");
220+
reportBuilder.Append(cdRateSensorName).AppendFormat("{0:0.#}", Math.Abs(bat.ChargeDischargeRate.Value)).AppendLine(" W");
221221

222222
if (bat.ChargeDischargeCurrent.HasValue)
223-
reportBuilder.Append(cdCurrentSensorName).AppendFormat("{0:F3}", Math.Abs(bat.ChargeDischargeCurrent.Value)).AppendLine(" A");
223+
reportBuilder.Append(cdCurrentSensorName).AppendFormat("{0:0.###}", Math.Abs(bat.ChargeDischargeCurrent.Value)).AppendLine(" A");
224224

225225
reportBuilder.AppendLine();
226226
count++;

0 commit comments

Comments
 (0)