import org.apache.commons.lang3.StringUtils;
import java.text.DecimalFormat;
public class ConvertUpMoneyUtil {
// 大写数字
private static final String[] NUMBERS = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
// 整数部分的单位
private static final String[] IUNIT = {"元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","万","拾","佰","仟"};
// 小数部分的单位
private static final String[] DUNIT = {"角","分","厘"};
/**
* 转换为大写的中文金额
* @param str 字符串类型的 金额数字
* @return
*/
public static String toChinese(String str) {
// 判断输入的金额字符串是否符合要求
if (StringUtils.isBlank(str) || !str.matches("(-)?[\\d]*(.)?[\\d]*")) {
return "抱歉,请输入数字!";
}
if("0".equals(str) ||"0.00".equals(str) ||"0.0".equals(str)) {
return "零元";
}
// 判断金额数字中是否存在负号"-"
boolean flag =false;
if(str.startsWith("-")){
// 标志位,标志此金额数字为负数
flag =true;
str = str.replaceAll("-", "")