人民幣數字金額轉大寫金額,人民幣數字金額大寫
public class t {public static String Trans2RMB(String money) {int index = money.indexOf(".");if (index < 0) {// 沒有角分money = money + ".00";index = money.indexOf(".");}if (money.substring(index, money.length()).length() < 3) {// 沒有分money = money + "0";index = money.indexOf(".");}money = money.replaceAll("\\D", "");// 去除"."int length = money.length();// 貨幣大寫形式String bigLetter[] = { "零", "壹", "貳", "三", "肆", "伍", "陸", "柒", "捌", "玖" };// 貨幣單位String unit[] = { "仟", "佰", "拾", "萬", "仟", "佰", "拾", "億", "仟", "佰","拾", "萬", "仟", "佰", "拾", "元", "角", "分" };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++) {// 億 萬 元是四個為單元的最後一位例如1234(億)4567(萬)7891(元)moneyTmp = moneyTmp.replaceAll("零億", "億");moneyTmp = moneyTmp.replaceAll("零萬", "萬");moneyTmp = moneyTmp.replaceAll("零仟", "零");moneyTmp = moneyTmp.replaceAll("零佰", "零");moneyTmp = moneyTmp.replaceAll("零拾", "零");moneyTmp = moneyTmp.replaceAll("零元", "元");moneyTmp = moneyTmp.replaceAll("零角", "零");moneyTmp = moneyTmp.replaceAll("零分", "整");}moneyTmp = moneyTmp.replaceAll("億萬", "億");moneyTmp = moneyTmp.replaceAll("拾元", "拾元零");moneyTmp = moneyTmp.replaceAll("[零]{1,}", "零");// 多個連續的零替換為一個零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"));//// 貳仟三佰億陸仟柒佰捌拾玖萬零捌拾元零壹分// 貳仟三佰億陸仟柒佰捌拾玖萬零捌拾元零壹角壹分// 貳仟三佰億陸仟柒佰捌拾玖萬零捌拾元零壹角整// 貳仟三佰億陸仟柒佰捌拾玖萬零捌拾壹元零壹分// 貳仟三佰億陸仟柒佰捌拾玖萬零捌拾壹元壹角壹分// 貳仟三佰億陸仟柒佰捌拾玖萬零捌拾壹元壹角整// 貳仟三佰億陸仟柒佰捌拾玖萬零捌拾元零壹分// 貳仟三佰零陸億陸仟柒佰捌拾玖萬零捌拾元零壹分// 貳仟三佰億零柒佰捌拾玖萬零捌拾元零壹分// 貳仟三佰零陸億零柒佰捌拾玖萬零捌拾元零壹分// 貳仟億陸仟柒佰捌拾玖萬零捌拾元零壹分// 貳仟億陸仟柒佰捌拾玖萬零捌拾元零壹角壹分// 貳仟億陸仟柒佰捌拾玖萬零捌拾元零壹角整// 貳仟億零柒佰捌拾玖萬零捌拾元零壹分// 貳仟億零捌拾玖萬零捌拾元零壹角壹分// 貳仟億零玖萬零捌拾元零壹角整// 貳仟億零捌拾元零壹角整// 貳仟億零柒佰捌拾玖萬零捌拾元整// 貳仟億零捌拾玖萬零捌拾元零壹角整// 貳仟零陸億零柒佰捌拾玖萬零捌拾元零壹分// 貳仟零陸億零捌拾玖萬零捌拾元零壹角壹分// 貳仟零陸億零玖萬零捌拾元零壹角整// 貳仟零陸億零捌拾元零壹角整// 貳佰億零柒佰捌拾萬零捌拾元零壹分}}
數字金額306000元轉換成大寫應該怎寫,說出依據
人民幣三拾萬陸仟圓整(也可以人民幣三拾萬零陸仟圓整),按照財務大寫數字書寫規則,大寫數字前要加人民幣三個字,並且人民幣中間不能有空格。
大寫金額數字到元或角為止的,在“元”或“角”字之後應寫“整”或“正”字;大寫金額數字有分的,分字後面不寫“整”字。
阿拉伯金額數字中間有“0”時,漢字大寫金額要寫“零”字,如$101.50,漢字大寫金額應寫成人民幣壹佰零壹圓伍角整。阿拉伯金額數字中間連續有幾個“0”時,漢字大寫金額中可以唯寫一個“零”字,如¥1,004.56,漢字大寫金額應寫成人民幣壹仟零肆圓伍角陸分。阿拉伯金額數字元位是“0”,或數字中間連續有幾個“0”,元位也是“0”,但角位不是“0”時,漢字大寫金額可唯寫一個“零”字,也可不寫“零”字,如$1,320.56,漢字大寫金額應寫成人民幣壹仟三佰貳拾圓零伍角陸分,或人民幣壹仟三佰貳拾圓伍角陸分。又如$1,000.56,漢字大寫金額應寫成人民幣壹仟圓零伍角陸分,或人民幣壹仟圓伍角陸分。
人民幣金額大寫後用“正”還是“整”?
都可以!!!
正確填寫票據和結算憑證的基本規定
銀行、單位和個人填寫的各種票據和結算憑證是辦理支付結算和現金收付的重要依據,直接關係到支付結算的準確、及時和安全。票據和結算憑證是銀行、單位和個人憑以記載賬務的會計憑證,是記載經濟業務和明確經濟責任的一種書面證明。因此,填寫票據和結算憑證,必須做到標準化、正常化,要要素齊全、數字正確、字跡清晰、不錯漏、不潦草,防止塗改。
一、中文大寫金額數字應用正楷或行書填寫,如壹(壹)、貳(貳)、三、肆(肆)、伍(伍)、陸(陸)、柒、捌、玖、拾、佰、仟、萬(萬)、億、元、角、分、零、整(正)等字樣。不得用一、二(兩)、三、四、五、六、七、八、九、十、念、毛、另(或0)填寫,不得自造簡化字。如果金額數字書寫中使用繁體字,如貳、陸、億、萬、圓的,也應受理。
二、中文大寫金額數字到元為止的,在元之後,應寫整(或正)字,在角之後可以不寫整(或正)字。大寫金額數字有分的,分後面不寫整(或正)字。
三、中文大寫金額數字前應標明人民幣字樣,大寫金額數字應緊接人民幣字樣填寫,不得留有空白。大寫金額數字前未印人民幣字樣的,應加填人民幣三字。在票據和結算憑證大寫金額欄內不得預印固定的仟、佰、拾、萬、仟、伯、拾、元、角、分字樣。
四、阿拉伯小寫金額數字中有0時,中文大寫應按照漢語語言規律、金額數字構成和防止塗改的要求進行書寫。舉例如下:
(一)阿拉伯數字中間有O時,中文大寫金額要寫零字。如¥1,409.50,應寫成人民幣壹仟肆佰零玖元伍角。
(二)阿拉伯數字中間連續有幾個0時,中文大寫金額中間可以唯寫一個零字。如¥6,007.14,應寫成人民幣陸仟零柒元壹角肆分。
(三)阿拉伯金額數字萬位或元位是0,或者數字中間連續有幾個0,萬位、元位也是0,但千位、角位不是0時,中文大寫金額中可以唯寫一個零字,也可以不寫零字。如¥1,680.32,應寫成人民幣壹仟陸佰捌拾元零三角貳分,或者寫成人民幣壹仟陸佰捌拾元三角貳分;又如¥107,000.53,應寫成人民幣壹拾萬柒仟元零伍角三分,或者寫成人民幣壹拾萬零柒仟元伍角三分。
(四)阿拉伯金額數字角位是0,而分位不是0時,中文大額;元後面應寫零字。如¥16,409.02,應寫成人民幣壹萬陸仟肆佰零玖元零貳分;又如¥325.04,應寫成人民幣三佰貳拾伍元零肆分。
五、阿拉伯小寫金額數字前面,均應填寫入民幣符號¥(或草寫:)。阿拉伯小寫金額數字要認真填寫,不得連寫分辨不清。
六、票據的出票日期必須使用中文大寫。為防止變造票據的出稟日期,在填寫月、日時,月為壹、貳和壹拾的,日為壹至玖和壹拾、貳拾和三抬的,應在其前加零;日為抬壹至拾玖的,應在其前加壹.如1月15日,應寫成零壹月壹拾伍日。再如10月20日,應寫成零壹拾月零貳拾日。
七、票據出票日期使用小寫填寫的,銀行不予受理。大寫日期未按要求規範填寫的,銀行可予受理,但由此造成損失的,由出票入自行承擔。