diff flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java @ 418:e0fec407a280

ISSUE-53 Formatted number values of CSV exports. flys-artifacts/trunk@1885 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 10 May 2011 16:10:01 +0000
parents 340dc41a7ea3
children a7947972fdeb
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java	Tue May 10 15:28:30 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java	Tue May 10 16:10:01 2011 +0000
@@ -1,6 +1,7 @@
 package de.intevation.flys.exports;
 
 import java.io.OutputStream;
+import java.text.NumberFormat;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -26,6 +27,12 @@
     private static Logger logger =
         Logger.getLogger(ComputedDischargeCurveExporter.class);
 
+
+    public static final int W_MIN_DIGITS  = 2;
+    public static final int W_MAX_DIGITS  = 2;
+    public static final int Q_MIN_DIGITS  = 0;
+    public static final int Q_MAX_DIGITS  = 0;
+
     public static final String CSV_W_HEADER =
         "export.computed.discharge.curve.csv.header.w";
 
@@ -59,6 +66,9 @@
 
         writeCSVHeader(writer);
 
+        NumberFormat wf  = getWFormatter();
+        NumberFormat qf  = getQFormatter();
+
         double[] res = new double[3];
 
         for (WQKms wqkms: data) {
@@ -68,8 +78,8 @@
                 res = wqkms.get(i, res);
 
                 writer.writeNext(new String[] {
-                    Double.toString(res[0]),
-                    Double.toString(res[1])
+                    wf.format(res[0]),
+                    qf.format(res[1])
                 });
             }
         }
@@ -84,5 +94,25 @@
             msg(CSV_Q_HEADER, DEFAULT_CSV_Q_HEADER)
         });
     }
+
+
+    /**
+     * Returns the number formatter for W values.
+     *
+     * @return the number formatter for W values.
+     */
+    protected NumberFormat getWFormatter() {
+        return getFormatter(W_MIN_DIGITS, W_MAX_DIGITS);
+    }
+
+
+    /**
+     * Returns the number formatter for Q values.
+     *
+     * @return the number formatter for Q values.
+     */
+    protected NumberFormat getQFormatter() {
+        return getFormatter(Q_MIN_DIGITS, Q_MAX_DIGITS);
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org