From eb602fa2e6e2ecbdac0b2c00b401a376a758c9e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Bernardi?= Date: Mon, 24 Jan 2022 09:52:22 -0300 Subject: [PATCH] lims, lims_interface: notebook line result: show all decimals --- lims/notebook.py | 4 +--- lims/results_report.py | 18 ++++++------------ lims_interface/interface.py | 8 ++------ 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/lims/notebook.py b/lims/notebook.py index 3e3537e..5cb1f15 100644 --- a/lims/notebook.py +++ b/lims/notebook.py @@ -1659,9 +1659,7 @@ class NotebookLine(ModelSQL, ModelView): res = res.ljust(significant_digits + 2, '0') else: res = round(float(result), decimals) - if decimals == 0: - res = int(res) - res = str(res) + res = format(res, '.{}f'.format(decimals)) except (TypeError, ValueError): pass return res diff --git a/lims/results_report.py b/lims/results_report.py index 1e3403a..4c2a003 100644 --- a/lims/results_report.py +++ b/lims/results_report.py @@ -3589,8 +3589,7 @@ class ResultReport(Report): else: if result: res = round(float(result), decimals) - if decimals == 0: - res = int(res) + res = format(res, '.{}f'.format(decimals)) else: res = '' if result_modifier == 'eq': @@ -3620,8 +3619,7 @@ class ResultReport(Report): else: if result: res = round(float(result), decimals) - if decimals == 0: - res = int(res) + res = format(res, '.{}f'.format(decimals)) else: res = '' if result_modifier == 'eq': @@ -3673,8 +3671,7 @@ class ResultReport(Report): else: if converted_result and converted_result_modifier != 'ni': res = round(float(converted_result), decimals) - if decimals == 0: - res = int(res) + res = format(res, '.{}f'.format(decimals)) if converted_result_modifier == 'low': res = gettext( 'lims.msg_quantification_limit', loq=res) @@ -3701,8 +3698,7 @@ class ResultReport(Report): if (not literal_result and result_modifier == 'eq' and uncertainty and float(uncertainty) != 0): res = round(float(uncertainty), decimals) - if decimals == 0: - res = int(res) + res = format(res, '.{}f'.format(decimals)) res = gettext( 'lims.msg_uncertainty', res=res, initial_unit='') obs_uncert = True @@ -3728,8 +3724,7 @@ class ResultReport(Report): if (not converted_result and uncertainty and float(uncertainty) != 0): res = round(float(uncertainty), decimals) - if decimals == 0: - res = int(res) + res = format(res, '.{}f'.format(decimals)) res = gettext('lims.msg_uncertainty', res=res, initial_unit=initial_unit) obs_uncert = True @@ -3774,8 +3769,7 @@ class ResultReport(Report): else: if uncertainty and float(uncertainty) != 0: res = round(float(uncertainty), decimals) - if decimals == 0: - res = int(res) + res = format(res, '.{}f'.format(decimals)) res = gettext('lims.msg_uncertainty', res=res, initial_unit=final_unit) obs_uncert = True diff --git a/lims_interface/interface.py b/lims_interface/interface.py index acd994c..d7edc88 100644 --- a/lims_interface/interface.py +++ b/lims_interface/interface.py @@ -2071,12 +2071,8 @@ class Compilation(Workflow, ModelSQL, ModelView): if not nb_line.significant_digits: decimals = nb_line.decimals or 0 result = round(float(data[nl_field]), decimals) - if decimals == 0: - data[nl_field] = str(int(result)) - else: - integer, decimal = str(result).split('.') - data[nl_field] = '%s.%s' % (integer, - decimal.ljust(decimals, '0')) + data[nl_field] = format(result, + '.{}f'.format(decimals)) if (nl_field == 'result_modifier' and not data[nl_field]): data[nl_field] = 'eq'