package org.javamoney.calc.securities; import javax.money.MonetaryAmount; import java.math.BigDecimal; import java.math.MathContext; /** * <img src="http://www.financeformulas.net/formulaimages/Dividend%20Payout%20Ratio%201.gif" /> * <p> The dividend payout ratio is the amount of dividends paid to stockholders relative to the amount of total net income of a company. The amount that * is not paid out in dividends to stockholders is held by the company for growth. The amount that is kept by the company is called retained earnings. * * @author Manuela Grindei * @see http://www.financeformulas.net/Dividend_Payout_Ratio.html */ public class DividendPayoutRatio { /** * Private constructor. */ private DividendPayoutRatio() { } /** * Calculates the dividend payout ratio. * * @param dividends the amount of dividends paid to stockholders * @param netIncome the amount of total net income of the company * @return the dividend payout ratio */ public static BigDecimal calculate(MonetaryAmount dividends, MonetaryAmount netIncome) { BigDecimal dividendsValue = BigDecimal.valueOf(dividends.getNumber().doubleValueExact()); BigDecimal netIncomeValue = BigDecimal.valueOf(netIncome.getNumber().doubleValueExact()); return dividendsValue.divide(netIncomeValue, MathContext.DECIMAL64); } }