• 金额元分之间转换工具类


    import java.math.BigDecimal;

    /**
    *金额元分之间转换工具类
    */
    public class AmountUtils {

    /**金额为分的格式 */
    public static final String CURRENCY_FEN_REGEX = "^(([1-9]{1}\d*)|([0]{1}))(\.(\d){0,2})?$";

    /**
    * 10000
    */
    public static BigDecimal TEN_THOUSAND = new BigDecimal(10000);

    /**
    * 小数位
    */
    public static int DECIMAL_PLACES = 2;

    /**
    * 分转换元
    * @param amount
    * @return
    */
    public static BigDecimal changeF2Y(Long amount) throws Exception{
    if(null == amount){
    throw new Exception("金额不能为null");
    }
    //设置小数位数,第一个变量是小数位数,第二个变量是取舍方法(进位处理)
    BigDecimal bPrice = new BigDecimal(amount);
    bPrice=bPrice.divide(new BigDecimal(10000),2,BigDecimal.ROUND_UP);
    return bPrice;
    }
    /**
    * 分转换元
    * @param amount
    * @return
    */
    public static BigDecimal changeF2YSettlement(String amount) throws Exception{
    if(null == amount){
    throw new Exception("金额不能为null");
    }
    //设置小数位数,第一个变量是小数位数,第二个变量是取舍方法(进位处理)
    BigDecimal bPrice = new BigDecimal(amount);
    bPrice=bPrice.divide(new BigDecimal(10000),2,BigDecimal.ROUND_UP);
    return bPrice;
    }

    /**
    * 元转换成分
    * @param amount
    * @return
    */
    public static BigDecimal changeY2F(String amount) throws Exception{
    if(!amount.matches(CURRENCY_FEN_REGEX)) {
    throw new Exception("金额格式有误");
    }
    BigDecimal bPrice=new BigDecimal(amount);
    bPrice=bPrice.multiply(new BigDecimal(10000));

    return bPrice;
    }

    public static void main(String[] args) {
    try {
    BigDecimal a = AmountUtils.changeY2F("12.55");
    System.out.println(a);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
  • 相关阅读:
    java web 开发入门
    程序优质网站
    为什么要放弃ssh框架
    JDK核心源码(2)
    Linux 格式化分区 报错Could not stat --- No such file or directory 和 partprobe 命令
    快照COW
    磁盘检测SMART工具
    python学习-3.一些常用模块用法
    python 学习2:生成器,迭代器,装饰器
    关于对SwfUpload的改造
  • 原文地址:https://www.cnblogs.com/h-c-g/p/9978774.html
Copyright © 2020-2023  润新知