summaryrefslogtreecommitdiff
path: root/src/org/unitConverter/unit/LinearUnitValue.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/unitConverter/unit/LinearUnitValue.java')
-rw-r--r--src/org/unitConverter/unit/LinearUnitValue.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/org/unitConverter/unit/LinearUnitValue.java b/src/org/unitConverter/unit/LinearUnitValue.java
index 7096738..5685a6d 100644
--- a/src/org/unitConverter/unit/LinearUnitValue.java
+++ b/src/org/unitConverter/unit/LinearUnitValue.java
@@ -367,7 +367,7 @@ public final class LinearUnitValue {
final double baseUncertainty = this.unit.convertToBase(this.uncertainty);
// get rounded strings
- final String valueString, baseValueString, uncertaintyString,
+ String valueString, baseValueString, uncertaintyString,
baseUncertaintyString;
if (this.isExact()) {
valueString = Double.toString(this.value);
@@ -438,6 +438,27 @@ public final class LinearUnitValue {
return String.format("(%s ± %s) %s", valueString, uncertaintyString,
chosenName);
} else {
+ // truncate excess zeroes
+ if (valueString.contains(".")) {
+ while (valueString.endsWith("0")) {
+ valueString = valueString.substring(0, valueString.length() - 1);
+ }
+ if (valueString.endsWith(".")) {
+ valueString = valueString.substring(0, valueString.length() - 1);
+ }
+ }
+
+ if (baseValueString.contains(".")) {
+ while (baseValueString.endsWith("0")) {
+ baseValueString = baseValueString.substring(0,
+ baseValueString.length() - 1);
+ }
+ if (baseValueString.endsWith(".")) {
+ baseValueString = baseValueString.substring(0,
+ baseValueString.length() - 1);
+ }
+ }
+
if (primaryName.isEmpty() && symbol.isEmpty())
return String.format("%s unnamed unit (= %s %s)", valueString,
baseValueString, this.unit.getBase());