annotate src/main/java/de/intevation/lada/util/data/MathUtil.java @ 1299:0eece233cbae

Added JSON object type to database dialect.
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 24 Feb 2017 14:28:19 +0100
parents c9b84bca3e3d
children
rev   line source
948
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
3 *
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
7 */
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
8 package de.intevation.lada.util.data;
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
9
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
10 import java.math.BigDecimal;
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
11 import java.math.MathContext;
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
12 import java.math.RoundingMode;
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
13
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
14 /**
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
15 * Utilities for calculations
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
16 *
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
17 */
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
18 public class MathUtil {
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
19
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
20 public static final MathContext ROUNDING_CONTEXT = new MathContext(
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
21 3, RoundingMode.HALF_EVEN);
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
22
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
23 public static Double roundDoubleToThree(Double value) {
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
24 if (value == null) {
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
25 return null;
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
26 }
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
27 return BigDecimal.valueOf(value).round(ROUNDING_CONTEXT).doubleValue();
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
28 }
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
29
c9b84bca3e3d Round some values to three digits, breaking ties half to even, before storing.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
30 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)