view flys-client/src/main/java/de/intevation/flys/client/shared/DoubleUtils.java @ 1305:014fc183c640

Fix 'incorrect minuend/subtrahend order' bug in wdiff calculation. flys-client/trunk@2939 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 11 Oct 2011 12:20:32 +0000
parents af6ad7522351
children ff8312688cd5
line wrap: on
line source
package de.intevation.flys.client.shared;


public final class DoubleUtils {

    public static final String DEFAULT_DELIM = " ";


    private DoubleUtils() {
    }


    public static Double getDouble(String value) {
        try {
            return Double.valueOf(value);
        }
        catch (NumberFormatException nfe) {
            // do nothing
        }

        return null;
    }


    public static double[] getMinMax(String value) {
        return getMinMax(value, DEFAULT_DELIM);
    }


    public static double[] getMinMax(String value, String delim) {
        if (value == null) {
            return null;
        }

        String[] values = value.split(delim);

        int     len = values != null ? values.length : 0;
        double[] mm = new double[] { Double.MAX_VALUE, -Double.MAX_VALUE };

        for (int i = 0; i < len; i++) {
            Double d = getDouble(values[i]);

            if (d != null) {
                mm[0] = mm[0] < d ? mm[0] : d;
                mm[1] = mm[1] > d ? mm[1] : d;
            }
        }

        return mm[0] != Double.MAX_VALUE && mm[1] != -Double.MAX_VALUE
            ? mm
            : null;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org