From b93b60081b538341eb6f39b1f9bb878418476bf5 Mon Sep 17 00:00:00 2001
From: Tim Molter <tim.molter@gmail.com>
Date: Tue, 15 Jan 2013 12:15:08 +0100
Subject: [PATCH] another number format tweak

---
 .../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 e87d18ad..087c1284 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 || BigDecimal.ZERO.compareTo(value) == 0) {
+    if (absoluteValue.compareTo(new BigDecimal("10000.000001")) == -1 && absoluteValue.compareTo(new BigDecimal(".0009999999")) == 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 27d35c44..25b13ddb 100644
--- a/xchart/src/test/java/com/xeiam/xchart/ValueFormatTest.java
+++ b/xchart/src/test/java/com/xeiam/xchart/ValueFormatTest.java
@@ -74,10 +74,18 @@ public class ValueFormatTest {
     stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
     assertThat(stringValue, equalTo("0.001"));
 
+    value = new BigDecimal("0.0012");
+    stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+    assertThat(stringValue, equalTo("0.0012"));
+
     value = new BigDecimal("0.0001");
     stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
     assertThat(stringValue, equalTo("1E-4"));
 
+    value = new BigDecimal(".00012");
+    stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
+    assertThat(stringValue, equalTo("1.2E-4"));
+
     value = new BigDecimal("0.0");
     stringValue = AxisValueFormatterUtil.formatNumber(value, null, null, locale);
     assertThat(stringValue, equalTo("0"));
-- 
GitLab