package com.gh.mygreen.xlsmapper.cellconvert.converter; import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; /** * long/Long型を処理するためのConverter. * * @version 0.5 * @author T.TSUCHIE * */ public class LongCellConverter extends AbstractNumberCellConverter<Long> { @Override protected Long convertNumber(final double value, final MathContext context) { // 少数以下を四捨五入 BigDecimal decimal = new BigDecimal(value); decimal = decimal.setScale(0, RoundingMode.HALF_UP); return decimal.longValueExact(); } @Override protected Long convertNumber(final Number value, final MathContext context) { return value.longValue(); } @Override protected Long convertNumber(final BigDecimal value) { // 少数以下を四捨五入 BigDecimal decimal = value.setScale(0, RoundingMode.HALF_UP); return decimal.longValueExact(); } @Override protected Long getZeroValue() { return 0L; } @Override protected double getMaxValue() { return Long.MAX_VALUE; } @Override protected double getMinValue() { return Long.MIN_VALUE; } }