package com.chb.abc.util;
import java.math.BigDecimal;
import org.apache.commons.lang.StringUtils;
public class AmountUtil {
/**金额为分的格式 */
public static final String CURRENCY_FEN_REGEX = "\\-?[0-9]+";
/**
* 格式化为金额0.00格式
*
* @param amount
* 金额单位:分
* @return
*/
public static String formatFen2Yuan(long amount) {
return new BigDecimal(amount).divide(new BigDecimal(100), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
/**
* 将分格式为元,可以指定小数点后几位
*/
public static String formatFen2Yuan(long amount, int n) {
return new BigDecimal(amount).divide(new BigDecimal(100), n,
BigDecimal.ROUND_HALF_UP).toString();
}
public static String formatFen2Yuan(float amount, int n) {
return new BigDecimal(amount).divide(new BigDecimal(100), n,
BigDecimal.ROUND_HALF_UP).toString();
}
public static String formatFen1Yuan(long amount, int n) {
return new BigDecimal(amount).divide(new BigDecimal(1), n,
BigDecimal.ROUND_HALF_UP).toString();
}
/**
* 格式化为金额0.00格式
*
* @param amount
* 金额单位:厘
* @return
*
*/
public static String formatLi2Yuan(long amount) {
return new BigDecimal(amount).divide(new BigDecimal(1000), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
/**
* 格式化为金额0.00格式
*
* @param amount
* 金额单位:分
* @return
*
*/
public static String formatFen2Yuan(String amount) {
return new BigDecimal(amount).divide(new BigDecimal(100), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
/**
* 格式化为金额0.00格式
*
* @param amount
* 金额单位:厘
* @return
*
*/
public static String formatLi2Yuan(String amount) {
return new BigDecimal(amount).divide(new BigDecimal(1000), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
/**
* 讲金额由分 转换为 厘
*
* @param amount 金额单位:分
*
* @return 单位: 厘
* @author yanrg
*/
public static long formatFen2Li(long amount)throws Exception{
return amount * 10;
}
/**
* 将金额由 元 转换为 分
*
* @param amount
* 金额单位:元
* @return 单位: 分
*
*/
public static String formatYuan2Fen(String amount) {
String money=new BigDecimal(amount).multiply(new BigDecimal(100)).toString();
return StringUtils.substringBefore(money, ".");
}
/**
* 讲金额由 厘 转换为 分
*
* @param amount 金额单位:厘
*
* @return 单位: 分
* @author yanrg
*/
public static long formatLi2Fen(long amount)throws Exception{
return new BigDecimal(amount).divide(new BigDecimal(10), 0,
BigDecimal.ROUND_HALF_UP).longValue();
}
}
金额相关的操作
最新推荐文章于 2020-07-04 21:22:48 发布