From 2379f6f90f994f62a5235d6aed30cf9aa561004a Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Wed, 22 Feb 2023 08:41:46 -0500 Subject: [PATCH] Change nodesensors format of float Floats are either unnecessarily long in normal output, or too unconstrained in CSV output. Normalize to as many digits as 'makes sense' up to 5 digits. 5 miight seem a bit much, but one common metric is kWh, which may need that precision over short intervals. --- confluent_client/bin/nodesensors | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/confluent_client/bin/nodesensors b/confluent_client/bin/nodesensors index 3044a930..832a104a 100755 --- a/confluent_client/bin/nodesensors +++ b/confluent_client/bin/nodesensors @@ -135,7 +135,7 @@ def sensorpass(showout=True, appendtime=False): if sensedata['value'] is None: showval = '' elif isinstance(sensedata['value'], float): - showval = u' {0:.5f} '.format(sensedata['value']) + showval = u' {0:.5g} '.format(sensedata['value']) else: showval = u' {0} '.format(sensedata['value']) if sensedata['units'] not in (None, u''): @@ -191,6 +191,8 @@ def format_csv(csvwriter, orderedsensors, resdata, showtime=True): datum = ','.join([datum, healthstates]) else: datum = healthstates + if isinstance(datum, float): + datum = '{:.5g}'.format(datum) rowdata.append(datum) except KeyError: rowdata.append('N/A')