diff --git a/src/reportengine/floatformatting.py b/src/reportengine/floatformatting.py index 235d84f..402b3ab 100644 --- a/src/reportengine/floatformatting.py +++ b/src/reportengine/floatformatting.py @@ -83,5 +83,10 @@ class ValueErrorTuple(NamedTuple): value: numbers.Real error: numbers.Real def __str__(self): + if self.error == 0 or not np.isfinite(np.log10(self.error)): + if not np.isfinite(self.value): + return f'{self.value}±0' + value = int(self.value) if self.value == int(self.value) else round(self.value, 4) + return f'{value}±0' valstr, errstr = format_value_error(self.value, self.error) return f'{valstr}±{errstr}'