/**
 * 
 */
package org.springblade.datasource.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;

/**
 * @author wookvn
 *	
 *	数字格式化
 */
public enum NumberFormatEnum {

	/**
	 * 自动
	 */
	AUTO(0, "%s", ""),
	
	/**
	 * 整数
	 */
	INTEGER(1, "round(%s, 0)", ""),
	
	/**
	 * 保留一位小数
	 */
	RETAIN1(2, "round(%s, 1)", ""),
	
	/**
	 * 保留二位小数
	 */
	RETAIN2(3, "round(%s, 2)", ""),
	
	/**
	 * 百分比
	 */
	PERCENT(4, "round(%s*100, 0)", "fm99999999990"),
	
	/**
	 * 百分比保留一位小数
	 */
	PERCENT1(5, "round(%s*100, 1)", "fm99999999990.0"),
	
	/**
	 * 百分比保留二位小数
	 */
	PERCENT2(6, "round(%s*100, 2)", "fm99999999990.00"),
	
	/**
	 * 自定义公式(前端处理)
	 */
	CUSTOM(7, "%s", "");
	
	@EnumValue
	private int value;
	private String method;
	private String oracleFmFormat;

	/**
	 * @param value
	 */
	private NumberFormatEnum(int value, String method, String oracleFmFormat) {
		this.value = value;
		this.method = method;
		this.oracleFmFormat = oracleFmFormat;
	}

	/**
	 * @return the value
	 */
	public int getValue() {
		return value;
	}

	/**
	 * @return the method
	 */
	public String getMethod() {
		return method;
	}
	
	/**
	 * 
	 * @return
	 */
	public String getOracleFmFormat() {
		return oracleFmFormat;
	}
	
	/**
	 * 是否百分比显示
	 * @param numberFormat
	 * @return
	 */
	public static boolean isPercentFormat(NumberFormatEnum numberFormat) {
		return numberFormat == NumberFormatEnum.PERCENT || numberFormat == NumberFormatEnum.PERCENT1
				||numberFormat == NumberFormatEnum.PERCENT2;
	}
	
}
