人民币数字金额转大写金额
生活随笔
收集整理的這篇文章主要介紹了
人民币数字金额转大写金额
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
public class t {public static String Trans2RMB(String money) {int index = money.indexOf(".");if (index < 0) {// 沒(méi)有角分money = money + ".00";index = money.indexOf(".");}if (money.substring(index, money.length()).length() < 3) {// 沒(méi)有分money = money + "0";index = money.indexOf(".");}money = money.replaceAll("\\D", "");// 去除"."int length = money.length();// 貨幣大寫形式String bigLetter[] = { "零", "壹", "貳", "叁", "肆", "伍", "陸", "柒", "捌", "玖" };// 貨幣單位String unit[] = { "仟", "佰", "拾", "萬(wàn)", "仟", "佰", "拾", "億", "仟", "佰","拾", "萬(wàn)", "仟", "佰", "拾", "元", "角", "分" };StringBuffer buf = new StringBuffer("");for (int i = 0; i < length; i++) {int num = Integer.parseInt(String.valueOf(money.charAt(i)));buf.append(bigLetter[num]);buf.append(unit[unit.length - money.length() + i]);}String moneyTmp = buf.toString();buf = null;for (int i = 0; i < 4; i++) {// 億 萬(wàn) 元是四個(gè)為單元的最后一位比如1234(億)4567(萬(wàn))7891(元)moneyTmp = moneyTmp.replaceAll("零億", "億");moneyTmp = moneyTmp.replaceAll("零萬(wàn)", "萬(wàn)");moneyTmp = moneyTmp.replaceAll("零仟", "零");moneyTmp = moneyTmp.replaceAll("零佰", "零");moneyTmp = moneyTmp.replaceAll("零拾", "零");moneyTmp = moneyTmp.replaceAll("零元", "元");moneyTmp = moneyTmp.replaceAll("零角", "零");moneyTmp = moneyTmp.replaceAll("零分", "整");}moneyTmp = moneyTmp.replaceAll("億萬(wàn)", "億");moneyTmp = moneyTmp.replaceAll("拾元", "拾元零");moneyTmp = moneyTmp.replaceAll("[零]{1,}", "零");// 多個(gè)連續(xù)的零替換為一個(gè)零moneyTmp = moneyTmp.replaceAll("零整", "整");return moneyTmp;}public static void main(String[] args) {String money;money = "230067890080.01";System.out.println(Trans2RMB(money));money = "230067890080.11";System.out.println(Trans2RMB(money));money = "230067890080.10";System.out.println(Trans2RMB(money));money = "230067890081.01";System.out.println(Trans2RMB(money));money = "230067890081.11";System.out.println(Trans2RMB(money));money = "230067890081.10";System.out.println(Trans2RMB(money));money = "230067890080.01";System.out.println(Trans2RMB(money));money = "230667890080.01";System.out.println(Trans2RMB(money));money = "230007890080.01";System.out.println(Trans2RMB(money));money = "230607890080.01";System.out.println(Trans2RMB(money));money = "200067890080.01";System.out.println(Trans2RMB(money));money = "200067890080.11";System.out.println(Trans2RMB(money));money = "200067890080.10";System.out.println(Trans2RMB(money));money = "200007890080.01";System.out.println(Trans2RMB(money));money = "200000890080.11";System.out.println(Trans2RMB(money));money = "200000090080.10";System.out.println(Trans2RMB(money));money = "200000000080.10";System.out.println(Trans2RMB(money));money = "200007890080";System.out.println(Trans2RMB(money));money = "200000890080.1";System.out.println(Trans2RMB(money));money = "200607890080.01";System.out.println(Trans2RMB(money));money = "200600890080.11";System.out.println(Trans2RMB(money));money = "200600090080.10";System.out.println(Trans2RMB(money));money = "200600000080.10";System.out.println(Trans2RMB(money));money = "20007800080.01";System.out.println(Trans2RMB(money));money = "10001.01";System.out.println(Trans2RMB(money));// System.out.println(new// StringBuffer(Arrays.toString(unit)).reverse());// String small[] = { "分", "角" };// String[] ss = new String[] { "", "元" };// System.out.println(MoneyUtil.Trans2RMB("."));// System.out.println(MoneyUtil.Trans2RMB(".0"));// System.out.println(MoneyUtil.Trans2RMB("0.0"));// System.out.println(MoneyUtil.Trans2RMB("0.00"));// System.out.println(MoneyUtil.Trans2RMB("0.000"));// System.out.println(MoneyUtil.Trans2RMB("123456789.0"));// System.out.println(MoneyUtil.Trans2RMB("1234"));// System.out.println(MoneyUtil.Trans2RMB("1111."));// System.out.println(MoneyUtil.Trans2RMB("1011.011"));// System.out.println(MoneyUtil.Trans2RMB("00012340000000000.011"));//// 貳仟叁佰億陸仟柒佰捌拾玖萬(wàn)零捌拾元零壹分// 貳仟叁佰億陸仟柒佰捌拾玖萬(wàn)零捌拾元零壹角壹分// 貳仟叁佰億陸仟柒佰捌拾玖萬(wàn)零捌拾元零壹角整// 貳仟叁佰億陸仟柒佰捌拾玖萬(wàn)零捌拾壹元零壹分// 貳仟叁佰億陸仟柒佰捌拾玖萬(wàn)零捌拾壹元壹角壹分// 貳仟叁佰億陸仟柒佰捌拾玖萬(wàn)零捌拾壹元壹角整// 貳仟叁佰億陸仟柒佰捌拾玖萬(wàn)零捌拾元零壹分// 貳仟叁佰零陸億陸仟柒佰捌拾玖萬(wàn)零捌拾元零壹分// 貳仟叁佰億零柒佰捌拾玖萬(wàn)零捌拾元零壹分// 貳仟叁佰零陸億零柒佰捌拾玖萬(wàn)零捌拾元零壹分// 貳仟億陸仟柒佰捌拾玖萬(wàn)零捌拾元零壹分// 貳仟億陸仟柒佰捌拾玖萬(wàn)零捌拾元零壹角壹分// 貳仟億陸仟柒佰捌拾玖萬(wàn)零捌拾元零壹角整// 貳仟億零柒佰捌拾玖萬(wàn)零捌拾元零壹分// 貳仟億零捌拾玖萬(wàn)零捌拾元零壹角壹分// 貳仟億零玖萬(wàn)零捌拾元零壹角整// 貳仟億零捌拾元零壹角整// 貳仟億零柒佰捌拾玖萬(wàn)零捌拾元整// 貳仟億零捌拾玖萬(wàn)零捌拾元零壹角整// 貳仟零陸億零柒佰捌拾玖萬(wàn)零捌拾元零壹分// 貳仟零陸億零捌拾玖萬(wàn)零捌拾元零壹角壹分// 貳仟零陸億零玖萬(wàn)零捌拾元零壹角整// 貳仟零陸億零捌拾元零壹角整// 貳佰億零柒佰捌拾萬(wàn)零捌拾元零壹分}}
總結(jié)
以上是生活随笔為你收集整理的人民币数字金额转大写金额的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 她说程序员不懂浪漫,生日宴上惨变单身狗,
- 下一篇: 提升你的开发效率,10 个 NPM 使用