使用Java怎么将小写字符串转换成大写字符串?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Java可以用来干什么
Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。
public class RMBChange { private static String[] nums = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; // 单位还可以往上 private static String[] unit = {"元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万"}; // 小数位如还有需求可以直接往这个数组里加, private static String[] countNum = {"角", "分"}; public static String change(String money) { // 过滤空 if (money == null || "".equals(money)) { return ""; } StringBuilder res = new StringBuilder(); String[] splitStr = money.split("\\."); if (splitStr.length > 2) { throw new RuntimeException("输入的参数不是数字!"); } String front = splitStr[0]; // 用于判定0的显示 boolean isZero = true; if (front.length() > unit.length) { throw new RuntimeException("输入的参数大于万亿!"); } for (int i = 0; i < front.length(); i++) { // 整数位处理 int dw = front.length() - i - 1; // 用ASCII码获得数字 int index = (front.charAt(i) - '0'); if (index == 0) { isZero = true; if (dw == 0 || dw == 4 || dw == 8) { // 元,万,亿需要拼接 res.append(unit[dw]); } } else { if (isZero && i != 0) { // 多个0只显示一个 res.append(nums[0]); } isZero = false; res.append(nums[index]); res.append(unit[dw]); } } // 判断是否有小数位 if (splitStr.length > 1) { // 小数位处理,如果不需要则直接删除这个if及内部所有内容 isZero = true; String back = splitStr[1]; if (back.length() > countNum.length) { throw new RuntimeException("小数位小于【" + countNum[countNum.length - 1] + "】!"); } for (int i = 0; i < back.length(); i++) { int index = (back.charAt(i) - '0'); if (index == 0) { isZero = true; } else { if (isZero && i != 0) { res.append(nums[0]); } isZero = false; res.append(nums[index]); res.append(countNum[i]); } } } return res.toString(); }}
测试数据
public static void main(String[] args) { System.out.println(change("9999999999999.99")); // 玖万玖仟玖佰玖拾玖亿玖仟玖佰玖拾玖万玖仟玖佰玖拾玖元玖角玖分 System.out.println(change("5020055606500.00")); // 伍万零贰佰亿零伍仟伍佰陆拾万零陆仟伍佰元 System.out.println(change("4001500050.16")); // 肆拾亿零壹佰伍拾万零伍拾元壹角陆分 System.out.println(change("7854416")); // 柒佰捌拾伍万肆仟肆佰壹拾陆元 System.out.println(change("9556")); // 玖仟伍佰伍拾陆元 System.out.println(change("10086.0")); // 壹万零捌拾陆元 System.out.println(change("263341.26")); // 贰拾陆万叁仟叁佰肆拾壹元贰角陆分 System.out.println(change("3651.06")); // 叁仟陆佰伍拾壹元零陆分 System.out.println(change("1.00")); // 壹元 System.out.println(change("300.00")); // 叁佰元 System.out.println(change("2007.01")); // 贰仟零柒元零壹分 }
输出结果
玖万玖仟玖佰玖拾玖亿玖仟玖佰玖拾玖万玖仟玖佰玖拾玖元玖角玖分
伍万零贰佰亿零伍仟伍佰陆拾万零陆仟伍佰元
肆拾亿零壹佰伍拾万零伍拾元壹角陆分
柒佰捌拾伍万肆仟肆佰壹拾陆元
玖仟伍佰伍拾陆元
壹万零捌拾陆元
贰拾陆万叁仟叁佰肆拾壹元贰角陆分
叁仟陆佰伍拾壹元零陆分
壹元
叁佰元
贰仟零柒元零壹分
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。