zoukankan      html  css  js  c++  java
  • 金额元分之间转换工具类

    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();
    }
    }
    }
  • 相关阅读:
    Linux 文件特殊权限
    Linux ACL权限
    Linux 用户管理命令
    Asm.js: Javascript的编译目标
    《Zero to One》的一些读书笔记
    Tomcat架构(四)
    Tomcat架构(三)
    Tomcat架构(二)
    Tomcat 架构 (一)
    MATERIAL DESIGN学习笔记
  • 原文地址:https://www.cnblogs.com/h-c-g/p/9978774.html
Copyright © 2011-2022 走看看