source: DCWoRMS/trunk/src/simulator/utils/DoubleMath.java @ 477

Revision 477, 1.9 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1/**
2 * Created on 2008-01-05
3 */
4package simulator.utils;
5
6import java.math.BigDecimal;
7import java.text.DecimalFormat;
8import java.util.Locale;
9
10/**
11 * This class provides basic mathematical operations for the <code>double</code> primitive type
12 * @author Stanislaw Szczepanowski
13 */
14public class DoubleMath {
15       
16        /**
17         * The pattern used for converting a <code>double</code> value to a string
18         */
19        public static String PATTERN = "###.###";
20       
21        /**
22         * A protected constructor which will be invoked only
23         * one time in the lifetime of this class
24         */
25        protected DoubleMath() {
26        }
27       
28        /**
29         * Adds two <code>double</code> values and returns the result of addition
30         * @param left the left argument
31         * @param right the right argument
32         * @return the result of addition of the two arguments
33         */
34        public static double add(double left, double right) {
35                DecimalFormat df = (DecimalFormat) DecimalFormat.getInstance(Locale.ENGLISH);
36                df.applyPattern(PATTERN);
37                String leftStr = df.format(left);
38                String rightStr = df.format(right);
39                BigDecimal resultDec = new BigDecimal(leftStr);
40                BigDecimal rightDec = new BigDecimal(rightStr);
41                resultDec = resultDec.add(rightDec);
42                return resultDec.doubleValue();
43        }
44       
45        /**
46         * Subtracts from the <code>left</code> argument the <code>right</code> argument and returns the result of subtraction
47         * @param left the left argument
48         * @param right the right argument
49         * @return the result of subtraction of the two arguments
50         */
51        public static double subtract(double left, double right) {
52                DecimalFormat df = (DecimalFormat) DecimalFormat.getInstance(Locale.ENGLISH);
53                df.applyPattern(PATTERN);
54                String leftStr = df.format(left);
55                String rightStr = df.format(right);
56                BigDecimal resultDec = new BigDecimal(leftStr);
57                BigDecimal rightDec = new BigDecimal(rightStr);
58                resultDec = resultDec.subtract(rightDec);
59                return resultDec.doubleValue();
60        }
61
62}
Note: See TracBrowser for help on using the repository browser.