com.loocme.sys.util.CurrencyUtil Maven / Gradle / Ivy
package com.loocme.sys.util;
import com.loocme.sys.enums.CurrencyEnum;
import lombok.extern.slf4j.Slf4j;
/**
* 货币金额帮助类
*
* @author loocme
*
*/
@Slf4j
public class CurrencyUtil
{
/**
* 将元转换为分
*
* @param value
* 元
* @return 分
*/
public static String yuanToFen(Double value)
{
return StringUtil.decimal(value * 100, 0);
}
/**
* 将元转换为分
*
* @param value
* 元
* @return 分
*/
public static String yuanToFen(String value)
{
return StringUtil.decimal(StringUtil.getDouble(value) * 100, 0);
}
/**
* 将分转换为元
*
* @param value
* 分
* @return 元
*/
public static String fenToYuan(Long value)
{
return StringUtil.format(value / 100.00, "#0.##");
}
/**
* 将分转换为元
*
* @param value
* 分
* @return 元
*/
public static String fenToYuan(String value)
{
return StringUtil.format(StringUtil.getLong(value) / 100.00, "#0.##");
}
/**
* 将分格式化为12位,不足前面补0
*
* @param value
* 分
* @return 12位金额分
*/
public static String formatFen(Long value)
{
return StringUtil.format(value, "000000000000");
}
/**
* 将分格式化为12位,不足前面补0
*
* @param value
* 分
* @return 12位金额分
*/
public static String formatFen(String value)
{
return formatFen(StringUtil.getLong(value));
}
/**
* 根据货币类型格式化显示金额(英文方式分隔,不显示货币符号)
*
* @param value
* 金额
* @return 格式化后的金额字符串
*/
public static String formatCurrency(String value)
{
return formatCurrency(value, CurrencyEnum.RMB_EN.type(), false);
}
/**
* 根据货币类型格式化显示金额(不显示货币符号)
*
* @param value
* 金额
* @param currency
* 货币类型
* @return 格式化后的金额字符串
*/
public static String formatCurrency(String value, int currency)
{
return formatCurrency(value, currency, false);
}
/**
* 根据货币类型格式化显示金额
*
* @param value
* 金额
* @param currency
* 货币类型
* @param signFlag
* 是否显示货币符号
* @return 格式化后的金额字符串
*/
public static String formatCurrency(String value, int currency,
boolean signFlag)
{
CurrencyEnum cenum = CurrencyEnum.getCurrency(currency);
if (null == cenum)
{
log.error("货币类型({})没有定义", currency);
return null;
}
String format = (signFlag ? cenum.sign() : "") + cenum.format();
return StringUtil.format(StringUtil.getDouble(value), format);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy