Java BigDecimal Multiply multiply(BigDecimal multiplier1, BigDecimal multiplier2, int scale)

Here you can find the source of multiply(BigDecimal multiplier1, BigDecimal multiplier2, int scale)

Description

Multiplies two decimals and applies the given scale and a ROUND_HALF_UP.

License

Educational Community License

Parameter

Parameter Description
multiplier1 first multiplier
multiplier2 second multiplier
scale the scale fo the result

Return

the result of the multiplication after scale and rounding are applied

Declaration

public static BigDecimal multiply(BigDecimal multiplier1,
        BigDecimal multiplier2, int scale) 

Method Source Code

//package com.java2s;
/*/*from   ww  w  .  java2  s .c om*/
 * Copyright 2009 The Kuali Foundation.
 * 
 * Licensed under the Educational Community License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.opensource.org/licenses/ecl2.php
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.math.BigDecimal;

public class Main {
    /**
     * Multiplies two decimals and applies the given scale and a ROUND_HALF_UP. This method should be used only for the final result
     * calculation.For example if we have something like this: (axb)/c the rules should be applied to the result of the division
     * only and not all the computations that give us the final result.
     * 
     * @param multiplier1 first multiplier
     * @param multiplier2 second multiplier
     * @param scale the scale fo the result
     * @return the result of the multiplication after scale and rounding are applied
     */
    public static BigDecimal multiply(BigDecimal multiplier1,
            BigDecimal multiplier2, int scale) {

        BigDecimal result = BigDecimal.ZERO;

        if (multiplier1 != null && multiplier2 != null) {
            result = multiplier1.multiply(multiplier2);
        }

        result = result.setScale(scale, BigDecimal.ROUND_HALF_UP);
        return result;
    }
}

Related

  1. multiply(BigDecimal a, int multiplier)
  2. multiply(BigDecimal amount, BigDecimal multiplicand, int scale)
  3. multiply(BigDecimal aValue1, BigDecimal aValue2)
  4. multiply(BigDecimal bigDecimal, BigDecimal bigDecimal2)
  5. multiply(BigDecimal left, BigDecimal right)
  6. multiply(BigDecimal num1, BigDecimal num2)
  7. multiply(BigDecimal num1, BigDecimal num2)
  8. multiply(BigDecimal number1, BigDecimal number2, int decimalPlaces)
  9. multiply(BigDecimal one, BigDecimal another)