Example usage for java.math RoundingMode HALF_UP

List of usage examples for java.math RoundingMode HALF_UP

Introduction

In this page you can find the example usage for java.math RoundingMode HALF_UP.

Prototype

RoundingMode HALF_UP

To view the source code for java.math RoundingMode HALF_UP.

Click Source Link

Document

Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.

Usage

From source file:org.egov.works.web.actions.contractorBill.ContractorBillAction.java

private void validateMBAmountAndBillAmount(final List<MBHeader> mbHeaderList) {
    BigDecimal totalMBAmount = BigDecimal.ZERO;
    for (final MBHeader mbh : mbHeaderList)
        totalMBAmount = totalMBAmount.add(mbh.getTotalMBAmount());

    if (!(billAmount.setScale(2, RoundingMode.HALF_UP)
            .compareTo(totalMBAmount.setScale(2, RoundingMode.HALF_UP)) == 0))
        addFieldError("billAmount.compare.total.mbAmount", getText("billAmount.compare.total.mbAmount"));
}

From source file:com.autentia.intra.bean.billing.FinancialRatioBean.java

public BigDecimal getExpensesVar1() {
    try {//  ww w. ja v  a2s  . c  o m
        BigDecimal res = new BigDecimal(financialRatio.getExpenses().doubleValue());
        res = res.divide(financialRatioCompOne.getExpenses(), 4, RoundingMode.HALF_UP);
        res = res.subtract(new BigDecimal(1));
        return res;

    } catch (Exception e) {
        return new BigDecimal(0);
    }
}

From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java

@Override
@SuppressWarnings("unchecked")
@Transactional(readOnly = true)//from  w  ww  . j  a  va  2  s  .co m
public Map<String, Object> depreciacionAcumuladaPorCentroDeCosto(Map<String, Object> params) {
    Usuario usuario = (Usuario) params.get("usuario");
    Query tiposDeActivoQuery = currentSession().createQuery(
            "select new map(ta.nombre as nombre, ta.cuenta.id.idCtaMayor as cuenta, ta.id as id) from TipoActivo ta where ta.cuenta.id.ejercicio.id.idEjercicio = :ejercicioId and ta.cuenta.id.ejercicio.id.organizacion.id = :organizacionId order by ta.cuenta.id.idCtaMayor");
    tiposDeActivoQuery.setString("ejercicioId", usuario.getEjercicio().getId().getIdEjercicio());
    tiposDeActivoQuery.setLong("organizacionId", usuario.getEjercicio().getId().getOrganizacion().getId());
    List<Map<String, Object>> tiposDeActivo = tiposDeActivoQuery.list();
    Map<String, Map<String, Object>> tiposDeActivoMap = new HashMap<>();
    for (Map<String, Object> tipoActivo : tiposDeActivo) {
        tipoActivo.put("total", BigDecimal.ZERO);
        tiposDeActivoMap.put((String) tipoActivo.get("cuenta"), tipoActivo);
    }
    Map<String, Object> totalCC = new HashMap<>();
    totalCC.put("nombre", "");
    totalCC.put("cuenta", "TOTAL");
    totalCC.put("id", 0);
    totalCC.put("total", BigDecimal.ZERO);
    tiposDeActivo.add(totalCC);
    tiposDeActivoMap.put("TOTAL", totalCC);
    params.put("tiposDeActivo", tiposDeActivo);

    Date fecha = (Date) params.get("fecha");

    MathContext mc = new MathContext(16, RoundingMode.HALF_UP);
    Map<String, Map<String, Object>> mapa1 = new TreeMap<>();
    Query query = currentSession().createQuery(
            "select new Activo(a.id, a.version, a.moi, a.fechaCompra, a.tipoActivo.porciento, a.tipoActivo.vidaUtil, a.inactivo, a.fechaInactivo, a.fechaReubicado, a.tipoActivo.cuenta.id.idCtaMayor, a.centroCosto.id.idCosto, a.centroCosto.nombre) from Activo a inner join a.tipoActivo where a.empresa.id = :empresaId and a.fechaCompra <= :fecha and a.fechaReubicado is null");
    query.setLong("empresaId", usuario.getEmpresa().getId());
    query.setDate("fecha", fecha);
    List<Activo> activos = query.list();
    for (Activo activo : activos) {
        log.trace("Depreciando activo {}", activo.getId());
        activo = this.deprecia(activo, fecha);

        this.depreciacionAcumuladaPorCentroDeCosto(activo, mc, mapa1, tiposDeActivo, tiposDeActivoMap);
    }

    // Busca activos reubicados
    query = currentSession().createQuery(
            "select new Activo(a.id, a.version, a.moi, a.fechaCompra, a.tipoActivo.porciento, a.tipoActivo.vidaUtil, a.inactivo, a.fechaInactivo, a.fechaReubicado, a.tipoActivo.cuenta.id.idCtaMayor, a.centroCosto.id.idCosto, a.centroCosto.nombre) from Activo a inner join a.tipoActivo where a.empresa.id = :empresaId and a.fechaCompra <= :fecha and a.fechaReubicado != null");
    query.setLong("empresaId", usuario.getEmpresa().getId());
    query.setDate("fecha", fecha);
    activos = query.list();
    for (Activo activo : activos) {
        query = currentSession().createQuery(
                "select r from ReubicacionActivo r where r.activo.id = :activoId order by r.fecha");
        query.setLong("activoId", activo.getId());
        List<ReubicacionActivo> reubicaciones = query.list();
        Date fechaAnterior = null;
        boolean bandera1 = true;
        for (ReubicacionActivo reubicacion : reubicaciones) {
            if (reubicacion.getFecha().before(fecha)) {
                activo.setCentroCosto(reubicacion.getCentroCostoAnterior());
                if (fechaAnterior != null) {
                    activo.setFechaCompra(fechaAnterior);
                }
                this.deprecia(activo, reubicacion.getFecha());
                fechaAnterior = reubicacion.getFecha();
            } else {
                if (fechaAnterior != null) {
                    activo.setFechaCompra(fechaAnterior);
                }
                activo.setCentroCosto(reubicacion.getCentroCostoAnterior());
                this.deprecia(activo, fecha);
                bandera1 = false;
            }

            this.depreciacionAcumuladaPorCentroDeCosto(activo, mc, mapa1, tiposDeActivo, tiposDeActivoMap);
        }

        if (bandera1) {
            activo.setFechaCompra(activo.getFechaReubicado());
            this.deprecia(activo, fecha);
            this.depreciacionAcumuladaPorCentroDeCosto(activo, mc, mapa1, tiposDeActivo, tiposDeActivoMap);
        }
    }

    if (log.isTraceEnabled()) {
        for (Map<String, Object> centroCosto : mapa1.values()) {
            log.trace("CentroCosto: {} : {}", centroCosto.get("nombre"), centroCosto.get("totales"));
        }
    }

    params.put("centrosDeCosto", mapa1.values());
    return params;
}

From source file:com.autentia.intra.bean.billing.FinancialRatioBean.java

public BigDecimal getExpensesVar2() {
    try {//from  www . ja  v a2s .  com
        BigDecimal res = new BigDecimal(financialRatio.getExpenses().doubleValue());
        res = res.divide(financialRatioCompTwo.getExpenses(), 4, RoundingMode.HALF_UP);
        res = res.subtract(new BigDecimal(1));
        return res;

    } catch (Exception e) {
        return new BigDecimal(0);
    }
}

From source file:coffeshop.PaymentPage.java

private void calculateDue() {
    due = total.subtract(paid);//ww w.j a va2 s.co  m
    lblDue.setText(String.valueOf(due));
    lblPaid.setText(String.valueOf(paid));
    int split = cboSplit.getSelectedIndex() + 1;
    txtPayAmt.setText(due.divide(new BigDecimal(split), 2, RoundingMode.HALF_UP).toString());
}

From source file:com.autentia.intra.bean.billing.FinancialRatioBean.java

public BigDecimal getMarginVar1() {
    try {/*from   w w w  .  ja v  a2 s  .  c o m*/
        BigDecimal res = new BigDecimal(financialRatio.getMargin().doubleValue());
        res = res.divide(financialRatioCompOne.getMargin(), 4, RoundingMode.HALF_UP);
        res = res.subtract(new BigDecimal(1));
        return res;

    } catch (Exception e) {
        return new BigDecimal(0);
    }
}

From source file:com.autentia.intra.bean.billing.FinancialRatioBean.java

public BigDecimal getMarginVar2() {
    try {//from   w w  w .j  a v  a 2s . c o m
        BigDecimal res = new BigDecimal(financialRatio.getMargin().doubleValue());
        res = res.divide(financialRatioCompTwo.getMargin(), 4, RoundingMode.HALF_UP);
        res = res.subtract(new BigDecimal(1));
        return res;

    } catch (Exception e) {
        return new BigDecimal(0);
    }
}

From source file:edu.harvard.iq.dataverse.ingest.tabulardata.impl.plugins.por.PORFileReader.java

private double base30Tobase10Conversion(String base30String) {

    // new base(radix) number
    int oldBase = 30;
    //dbgLog.fine("base30String="+base30String);

    // trim white-spaces from the both ends
    String base30StringClean = StringUtils.trim(base30String);
    //dbgLog.fine("base30StringClean="+base30StringClean);

    // check the negative/positive sign
    boolean isNegativeNumber = false;
    boolean hasPositiveSign = false;
    if (base30StringClean.startsWith("-")) {
        isNegativeNumber = true;/*  ww w  .j  av a  2s . co m*/
    }

    if (base30StringClean.startsWith("+")) {
        hasPositiveSign = true;
    }

    // remove the sign if exits
    String base30StringNoSign = null;

    if ((isNegativeNumber) || (hasPositiveSign)) {
        base30StringNoSign = base30StringClean.substring(1);
    } else {
        base30StringNoSign = base30StringClean;
    }

    // check the scientific notation
    // if so, divide it into the significand and exponent
    String significand = null;
    long exponent = 0;

    int plusIndex = base30StringNoSign.indexOf("+");
    int minusIndex = base30StringNoSign.indexOf("-");

    if (plusIndex > 0) {
        significand = base30StringNoSign.substring(0, plusIndex);
        exponent = Long.valueOf(base30StringNoSign.substring(plusIndex + 1), oldBase);

    } else if (minusIndex > 0) {
        significand = base30StringNoSign.substring(0, minusIndex);
        exponent = -1 * Long.valueOf(base30StringNoSign.substring(minusIndex + 1), oldBase);

    } else {
        significand = base30StringNoSign;
    }

    // "move" decimal point; for each shift right, subtract one from exponent; end result is a string with no decimal
    int decimalIndex = significand.indexOf(".");
    if (decimalIndex != -1) {
        exponent -= (significand.length() - (decimalIndex + 1));
        significand = significand.substring(0, decimalIndex) + significand.substring(decimalIndex + 1);
    }

    // TODO: Verify that the MathContext/Rounding methods are OK:
    // -- L.A. 4.0 beta
    MathContext mc = new MathContext(15, RoundingMode.HALF_UP);
    long base10Significand = Long.parseLong(significand, oldBase);
    BigDecimal base10value = new BigDecimal(String.valueOf(base10Significand), mc);
    BigDecimal exponentialComponent = new BigDecimal("1", mc);

    for (int g = 0; g < Math.abs(exponent); g++) {
        exponentialComponent = exponentialComponent.multiply(new BigDecimal("30", mc));
    }

    if (exponent >= 0) {
        base10value = base10value.multiply(exponentialComponent, mc);
    } else {
        base10value = base10value.divide(exponentialComponent, mc);
    }

    // negative sign if applicable
    if (isNegativeNumber) {
        base10value = base10value.multiply(new BigDecimal("-1", mc));
    }

    return base10value.doubleValue();
}

From source file:com.autentia.intra.bean.billing.FinancialRatioBean.java

public BigDecimal getOtherExploitationExpensesVar1() {
    try {/*  w  w w. j ava2s.co  m*/
        BigDecimal res = new BigDecimal(financialRatio.getOtherExploitationExpenses().doubleValue());
        res = res.divide(financialRatioCompOne.getOtherExploitationExpenses(), 4, RoundingMode.HALF_UP);
        res = res.subtract(new BigDecimal(1));
        return res;

    } catch (Exception e) {
        return new BigDecimal(0);
    }
}

From source file:com.autentia.intra.bean.billing.FinancialRatioBean.java

public BigDecimal getOtherExploitationExpensesVar2() {
    try {//w w w  .ja  v  a2s. co m
        BigDecimal res = new BigDecimal(financialRatio.getOtherExploitationExpenses().doubleValue());
        res = res.divide(financialRatioCompTwo.getOtherExploitationExpenses(), 4, RoundingMode.HALF_UP);
        res = res.subtract(new BigDecimal(1));
        return res;

    } catch (Exception e) {
        return new BigDecimal(0);
    }
}