diff --git a/src/main/java/org/olat/modules/forms/model/jpa/CalculatedLong.java b/src/main/java/org/olat/modules/forms/model/jpa/CalculatedLong.java index 71ad86a5f09078af757e1644133012188738444e..2f9636f9dcfe7248e69cb389e0fc0f2632e6a156 100644 --- a/src/main/java/org/olat/modules/forms/model/jpa/CalculatedLong.java +++ b/src/main/java/org/olat/modules/forms/model/jpa/CalculatedLong.java @@ -44,7 +44,7 @@ public class CalculatedLong { } public CalculatedLong(String identifier, BigDecimal subIdentifier, long value) { - this(identifier, subIdentifier.toPlainString(), value); + this(identifier, trimZerosFromEnd(subIdentifier.toPlainString()), value); } public CalculatedLong(String identifier, String subIdentifier, long value) { @@ -65,5 +65,14 @@ public class CalculatedLong { public long getValue() { return value; } + + private static String trimZerosFromEnd(String value) { + int len = value.length(); + int st = 0; + while ((st < len) && (value.charAt(len - 1) == '0' || value.charAt(len - 1) == '.')) { + len--; + } + return value.substring(0, len); + } }