概述
import java.math.BigDecimal;
import lombok.extern.slf4j.Slf4j;
/**
* 1元 = 10角 = 100分
* 说明:元转换为分,分转换为元
* @author:heshengjin qq:2356899074
* @date 2020年11月26日 下午1:17:12
*/
@Slf4j
public final class YuanJiaoFenUtils {
/**
* 进率:
* 1元 = 10角
* 1角 = 10分
*/
public final static BigDecimal GAP_OF_YUAN_JIAO_FEN = new BigDecimal("10");
/**
* 检查消息提示
*/
public final static String TIPMESSAGE = "请检查参数,方法:{},参数:{}不能为空!";
/**
* 参数:BigDecimal【强制使用字符串创建】,eg:new BigDecimal("1")
* 元转换为角
* 小数位:scale
* 默认ROUND_UP 进位处理:2.224667->2.23
* @author:heshengjin qq:2356899074
@date 2020年11月26日 下午1:32:08
*/
public static BigDecimal yuanToJiao(BigDecimal yuan) {
Assert.notNull(yuan, TIPMESSAGE, "yuanToJiao","yuan");
return yuan.multiply(GAP_OF_YUAN_JIAO_FEN);
}
/**
* 参数:BigDecimal【强制使用字符串创建】,eg:new BigDecimal("1")
* 元转换为分
* 小数位:scale
* 默认ROUND_UP 进位处理:2.224667->2.23
* @author:heshengjin qq:2356899074
@date 2020年11月26日 下午1:21:25
*/
public static BigDecimal yuanToFen(BigDecimal yuan) {
Assert.notNull(yuan, TIPMESSAGE, "yuanToFen","yuan");
return jiaoToFen(yuanToJiao(yuan));
}
/**
* 参数:BigDecimal【强制使用字符串创建】,eg:new BigDecimal("1")
* 角转换为元
* 小数位:scale
* 默认ROUND_UP 进位处理:2.224667->2.23
* @author:heshengjin qq:2356899074
@date 2020年11月26日 下午1:20:55
*/
public static BigDecimal jiaoToYuan(BigDecimal jiao) {
Assert.notNull(jiao, TIPMESSAGE, "jiaoToYuan","jiao");
return jiao.divide(GAP_OF_YUAN_JIAO_FEN);
}
/**
* 参数:BigDecimal【强制使用字符串创建】,eg:new BigDecimal("1")
* 角转换为分
* 小数位:scale
* 默认ROUND_UP 进位处理:2.224667->2.23
* @author:heshengjin qq:2356899074
@date 2020年11月26日 下午1:20:55
*/
public static BigDecimal jiaoToFen(BigDecimal jiao) {
Assert.notNull(jiao, TIPMESSAGE, "jiaoToFen","jiao");
return jiao.multiply(GAP_OF_YUAN_JIAO_FEN);
}
/**
* 参数:BigDecimal【强制使用字符串创建】,eg:new BigDecimal("1")
* 分转换为角
* 小数位:scale
* 默认ROUND_UP 进位处理:2.224667->2.23
* @author:heshengjin qq:2356899074
@date 2020年11月26日 下午1:20:55
*/
public static BigDecimal fenToJiao(BigDecimal fen) {
Assert.notNull(fen, TIPMESSAGE, "fenToJiao","fen");
return fen.divide(GAP_OF_YUAN_JIAO_FEN);
}
/**
* 参数:BigDecimal【强制使用字符串创建】,eg:new BigDecimal("1")
* 分转换为元
* 小数位:scale
* 默认ROUND_UP 进位处理:2.224667->2.23
* @author:heshengjin qq:2356899074
@date 2020年11月26日 下午1:20:55
*/
public static BigDecimal fenToYuan(BigDecimal fen) {
Assert.notNull(fen, TIPMESSAGE, "fenToYuan","fen");
return jiaoToYuan(fenToJiao(fen));
}
/**
* 测试
* @author:heshengjin qq:2356899074
@date 2020年11月26日 下午1:41:21
*/
public static void main(String[] args) {
log.info("测试1.11元转分,转换结果:{} 分",yuanToFen(new BigDecimal("1.11")));
log.info("测试111.00分转元,转换结果:{} 元",fenToYuan(new BigDecimal("111.00")));
}
}
最后
以上就是炙热柜子为你收集整理的Java元角分互转的全部内容,希望文章能够帮你解决Java元角分互转所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复