diff --git a/pom.xml b/pom.xml index 45fb14060..407a1ac38 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ 8 1 - 36 + 37 UTF-8 ${project.basedir}/liquibase/liquibase.properties 1.4.1 diff --git a/src/main/java/org/openelisglobal/common/util/StringUtil.java b/src/main/java/org/openelisglobal/common/util/StringUtil.java index 227a8a998..de08abf69 100644 --- a/src/main/java/org/openelisglobal/common/util/StringUtil.java +++ b/src/main/java/org/openelisglobal/common/util/StringUtil.java @@ -560,6 +560,7 @@ public static String replaceTail(String value, String tail) { return value.substring(0, value.length() - tail.length()) + tail; } + // not truly significant digits, just decimal places public static String doubleWithSignificantDigits(double value, String significantDigits) { if (GenericValidator.isBlankOrNull(significantDigits) || significantDigits.equals("-1")) { return String.valueOf(value); @@ -569,6 +570,7 @@ public static String doubleWithSignificantDigits(double value, String significan return String.format(format, value); } + // not truly significant digits, just decimal places public static String doubleWithSignificantDigits(double value, int significantDigits) { String format = "%1$." + significantDigits + "f"; return String.format(format, value); diff --git a/src/main/java/org/openelisglobal/result/controller/AnalyzerResultsController.java b/src/main/java/org/openelisglobal/result/controller/AnalyzerResultsController.java index 35357a1bf..105dfe294 100644 --- a/src/main/java/org/openelisglobal/result/controller/AnalyzerResultsController.java +++ b/src/main/java/org/openelisglobal/result/controller/AnalyzerResultsController.java @@ -39,6 +39,7 @@ import org.openelisglobal.common.services.StatusSet; import org.openelisglobal.common.util.ConfigurationProperties; import org.openelisglobal.common.util.DateUtil; +import org.openelisglobal.common.util.StringUtil; import org.openelisglobal.dictionary.service.DictionaryService; import org.openelisglobal.dictionary.valueholder.Dictionary; import org.openelisglobal.internationalization.MessageUtil; @@ -588,12 +589,8 @@ private String getRoundedToSignificantDigits(AnalyzerResults result) { return result.getResult(); } - if (significantDigits == 0) { - return String.valueOf(Math.round(results)); - } - - double power = Math.pow(10, significantDigits); - return String.valueOf(Math.round(results * power) / power); + // not truly significant digits, just decimal places + return StringUtil.doubleWithSignificantDigits(results, significantDigits); } else { return result.getResult(); }