package util;
import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal;
@Slf4j
public class PercentUtil {
public static Long setData(BigDecimal percent) {
if (percent.scale() > 2) {
throw new CustomException("百分比最多输入2位小数");
}
return percent.divide(BigDecimal.valueOf(100)).multiply(BigDecimal.valueOf(10000)).longValue();
}
public static BigDecimal getData(Long percent) {
return BigDecimal.valueOf(percent).divide(BigDecimal.valueOf(10000)).multiply(BigDecimal.valueOf(100)).setScale(2);
}
public static BigDecimal getRoyalty(Integer price, Long percent) {
return BigDecimal.valueOf(percent).divide(BigDecimal.valueOf(10000)).multiply(BigDecimal.valueOf(price)).setScale(2);
}
public static void main(String[] args) {
log.debug(">>" + setData(BigDecimal.valueOf(0.05)));
log.debug(">>" + getData(Long.valueOf(5)));
log.debug(">>" + setData(BigDecimal.valueOf(0.5)));
log.debug(">>" + getData(Long.valueOf(50)));
log.debug(">>" + getRoyalty(200, Long.valueOf(5)));
log.debug(">>" + setData(BigDecimal.valueOf(0.005)));
}
}