
package de.ivu.elect.business.sitzberechnung.control.saintelague;

import java.math.BigDecimal;
import java.math.RoundingMode;

import de.ivu.elect.business.sitzberechnung.control.util.Fraction;

public class SainteLagueRundung {

  /**
   * Rundung auf 6 Nachkommastellen
   */
  public static final int SCALE = 6;

  /**
   * mit kaufmännischer Rundung (0,5 wird aufgerundet)
   */
  public static final RoundingMode RM = RoundingMode.HALF_UP;

  /**
   * abschneiden
   */
  public static final RoundingMode RM_SITZE = RoundingMode.DOWN;

  /**
   * Wandelt einen Bruch in ein {@link BigDecimal}, wobei mit der in dieser Klasse statisch definierten Rundungsart gerundet wird (kaufmännische Rundung, 6 Nachkommastellen).
   *
   * @param fraction
   *          Dezimalbruch
   * @return entsprecheder Wert als gerundeter {@link BigDecimal}
   */
  public static BigDecimal toBigDecimal(Fraction fraction) {
    return fraction.toBigDecimal(SCALE, RM);
  }
}
