From 40fe91c7b1d338ed0518d50c9a8860c95e1abfb4 Mon Sep 17 00:00:00 2001 From: Tim Molter <tim.molter@gmail.com> Date: Mon, 14 Jan 2013 20:49:46 +0100 Subject: [PATCH] fixed zero formatting bug --- .../xchart/internal/misc/AxisValueFormatterUtil.java | 2 +- .../src/test/java/com/xeiam/xchart/ValueFormatTest.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/misc/AxisValueFormatterUtil.java b/xchart/src/main/java/com/xeiam/xchart/internal/misc/AxisValueFormatterUtil.java index 554adf9f..e87d18ad 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/misc/AxisValueFormatterUtil.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/misc/AxisValueFormatterUtil.java @@ -70,7 +70,7 @@ public class AxisValueFormatterUtil { BigDecimal absoluteValue = value.abs(); - if (absoluteValue.compareTo(new BigDecimal("10000")) == -1 && absoluteValue.compareTo(new BigDecimal(".0001")) == 1 || absoluteValue.equals(new BigDecimal("0.0"))) { + if (absoluteValue.compareTo(new BigDecimal("10000")) == -1 && absoluteValue.compareTo(new BigDecimal(".0001")) == 1 || BigDecimal.ZERO.compareTo(value) == 0) { DecimalFormat normalFormat = (DecimalFormat) numberFormat; normalFormat.applyPattern(normalDecimalPatternOverride == null ? NORMAL_DECIMAL_PATTERN : normalDecimalPatternOverride); diff --git a/xchart/src/test/java/com/xeiam/xchart/ValueFormatTest.java b/xchart/src/test/java/com/xeiam/xchart/ValueFormatTest.java index b1919546..27d35c44 100644 --- a/xchart/src/test/java/com/xeiam/xchart/ValueFormatTest.java +++ b/xchart/src/test/java/com/xeiam/xchart/ValueFormatTest.java @@ -78,6 +78,14 @@ public class ValueFormatTest { stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale); assertThat(stringValue, equalTo("1E-4")); + value = new BigDecimal("0.0"); + stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale); + assertThat(stringValue, equalTo("0")); + + value = new BigDecimal("0"); + stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale); + assertThat(stringValue, equalTo("0")); + // other case // TODO handle these cases better -- GitLab