您的位置:首页 > 其它

金额相关的操作

2015-09-07 10:08 295 查看
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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: