Java BigDecimal Compare compare(BigDecimal first, BigDecimal second)

Here you can find the source of compare(BigDecimal first, BigDecimal second)

Description

compare

License

Open Source License

Declaration

public static int compare(BigDecimal first, BigDecimal second) 

Method Source Code


//package com.java2s;
/*/*from   w ww.ja v a  2s. co  m*/
 * Copyright (c) 2010-2012 Grid Dynamics Consulting Services, Inc, All Rights Reserved
 * http://www.griddynamics.com
 *
 * This library is free software; you can redistribute it and/or modify it under the terms of
 * the GNU Lesser General Public License as published by the Free Software Foundation; either
 * version 2.1 of the License, or any later version.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

import java.math.BigDecimal;

public class Main {
    private static final double IMPRESSION = 0.1f;

    public static int compare(BigDecimal first, BigDecimal second) {
        if (areEqual(first, second)) {
            return 0;
        }
        return first.compareTo(second);
    }

    public static boolean areEqual(BigDecimal first, BigDecimal second) {
        BigDecimal rightBoundary = second.add(new BigDecimal(IMPRESSION));
        BigDecimal leftBoundary = second.subtract(new BigDecimal(IMPRESSION));

        return first.compareTo(rightBoundary) <= 0 && first.compareTo(leftBoundary) >= 0;
    }
}

Related

  1. compare(BigDecimal decimal, Integer i)
  2. compare(BigDecimal one, BigDecimal other)
  3. compare(BigDecimal v1, BigDecimal v2)
  4. compareBigDecimal(BigDecimal bigDecimal, BigDecimal bigDecimal2, boolean desc)
  5. compareBigDecimals(java.math.BigDecimal one, java.math.BigDecimal two)