久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java中金額元轉(zhuǎn)萬(wàn)元工具類(lèi)的實(shí)例

瀏覽:31日期:2022-08-16 15:24:16

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

public static void main(String[] args) { // 具體的金額(單位元) String value = '88000067898'; BigDecimal bigDecimal = new BigDecimal(value); // 轉(zhuǎn)換為萬(wàn)元(除以10000) BigDecimal decimal = bigDecimal.divide(new BigDecimal('10000')); // 保留兩位小數(shù) DecimalFormat formater = new DecimalFormat('0'); // 四舍五入 formater.setRoundingMode(RoundingMode.HALF_UP); // 格式化完成之后得出結(jié)果 String formatNum = formater.format(decimal); System.out.println(formatNum); } /**元轉(zhuǎn)萬(wàn)元且四舍五入取整*/ public static String getNumberWan(String value) { BigDecimal bigDecimal = new BigDecimal(value); // 轉(zhuǎn)換為萬(wàn)元(除以10000) BigDecimal decimal = bigDecimal.divide(new BigDecimal('10000')); // 保留兩位小數(shù) DecimalFormat formater = new DecimalFormat('0'); // 四舍五入 formater.setRoundingMode(RoundingMode.HALF_UP); // 格式化完成之后得出結(jié)果 String rs = formater.format(decimal); return rs; } /**元轉(zhuǎn)萬(wàn)元且保留兩位小數(shù)并四舍五入*/ public static String getNumberWanTwo(String value) { BigDecimal bigDecimal = new BigDecimal(value); // 轉(zhuǎn)換為萬(wàn)元(除以10000) BigDecimal decimal = bigDecimal.divide(new BigDecimal('10000')); // 保留兩位小數(shù) DecimalFormat formater = new DecimalFormat('0'); // 四舍五入 formater.setRoundingMode(RoundingMode.HALF_UP); // 格式化完成之后得出結(jié)果 String rs = formater.format(decimal); return rs; }

補(bǔ)充:用java實(shí)現(xiàn)將金額由數(shù)字轉(zhuǎn)為中文的數(shù)字金額

寫(xiě)一個(gè)金額由數(shù)字轉(zhuǎn)為中文的數(shù)字金額

例如:

123123.12轉(zhuǎn)為壹拾貳萬(wàn)叁仟壹佰貳拾叁元壹角貳分

由于是從開(kāi)發(fā)過(guò)程中代碼直接copy過(guò)來(lái)的,有一部分可以忽略,新人剛剛工作,寫(xiě)的不好,請(qǐng)多指正

import java.util.Scanner;public class Test { //數(shù)字單位 private static final String[] NUMBERS_UNITS= {'拾','佰','仟','萬(wàn)'}; public static void main(String[] args) { Test st=new Test(); Scanner scanner=new Scanner(System.in); System.out.println('請(qǐng)輸入金額:'); //獲取前端傳遞過(guò)來(lái)的金額數(shù)字 String money=scanner.nextLine(); //1.判斷是否為null st.isNull(money); //2.判斷是否有非法字符 st.isIllegal(money); //3.判斷是否超過(guò)限額 String[] array=st.isBeyondMax(money); //4.整數(shù)位字符轉(zhuǎn)換 StringBuffer chineseInt=st.convertInt(array[0]); //5.判斷有無(wú)小數(shù)位 if(array.length==2) { //6.有則進(jìn)行小數(shù)位字符轉(zhuǎn)換 StringBuffer chineseDec=st.convertDec(array[1]); //7.拼接整數(shù)和小數(shù)位 chineseInt=chineseInt.append(chineseDec); } //8.將轉(zhuǎn)為大寫(xiě)的金額設(shè)置回總線 System.out.println(chineseInt); } /** * 將小數(shù)位的金額數(shù)字轉(zhuǎn)化為中文大寫(xiě) * @param string 金額數(shù)字 * @return 轉(zhuǎn)為中文的金額數(shù)字 */ private StringBuffer convertDec(String string) { StringBuffer str=convert(string); switch(str.length()) { case 1:str.append('角');break; case 2:str.append('分');str.insert(1, '角');break; } return str; } /** * 將整數(shù)位的金額數(shù)字對(duì)應(yīng)轉(zhuǎn)化為中文大寫(xiě) * @param string 金額數(shù)字 * @return 轉(zhuǎn)為中文的金額數(shù)字 */ private StringBuffer convertInt(String string) { StringBuffer str=convert(string); int length=str.length()-1; for (int i = 0,j=str.length()-1; i < length; i++,j--) { int v=i%4; System.out.println('i:'+i+' j:'+j+' v:'+v+' '+str.toString()); str.insert(j, NUMBERS_UNITS[v]); } str.append('元'); return str; } /** * 循環(huán)整個(gè)字符串,替換字符 * @param string 要替換的字符串 * @return 替換好的字符 */ private StringBuffer convert(String string) { StringBuffer str=new StringBuffer(string); for (int i = 0; i < str.length(); i++) { str.replace(i, i+1,replaceCharacter(str.substring(i, i+1))); } return str; } /** * 將給定的數(shù)字字符替換為對(duì)應(yīng)的中文數(shù)字字符 * @param string 數(shù)字字符 * @return 中文數(shù)字字符 */ private String replaceCharacter(String string) { switch(string) { case '0':string='零';break; case '1':string='壹';break; case '2':string='貳';break; case '3':string='叁';break; case '4':string='肆';break; case '5':string='伍';break; case '6':string='陸';break; case '7':string='柒';break; case '8':string='捌';break; case '9':string='玖';break; } return string; } /** * 檢測(cè)傳入金額字符是否為空 * @param money 金額字符 */ private void isNull(String money) { if(money == null) { //拋出異常 } } /** * 檢測(cè)傳入金額字符是否符合條件 * @param money 金額字符 */ private void isIllegal(String money) { if(!money.matches('d+.?d*')) { //拋出異常 } } /** * 檢測(cè)傳入金額字符是否超出最大值 * @param money 金額字符 * @return 返回拆分的金額數(shù)字 */ private String[] isBeyondMax(String money) { String[] array=money.split('.'); //整數(shù)位不能超過(guò)9位,小數(shù)位不能超過(guò)2為 if(array[0].length()>9 || (array.length>1 &&array[1].length()>2)) { //拋出異常 } return array; }}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美精品成人一区二区在线 | ww8888免费视频 | 91久久| 99re国产| 亚洲欧美精品一区二区 | 欧美日韩国产影院 | 国产精品国产三级国产aⅴ无密码 | 女同理伦片在线观看禁男之园 | 国产一区二区久久 | 99精品国产高清一区二区麻豆 | 成人欧美一区二区三区视频xxx | 国产美女黄色片 | 精品久久久久久久久久久下田 | 91资源在线 | 色欧美片视频在线观看 | 日韩在线播放一区二区 | 日韩av一区二区三区在线 | 日产久久| 日韩欧美在线视频免费观看 | 日韩一区二区三区在线 | 在线视频一区二区三区 | 久久一区| 成人国产一区 | 欧美 日韩 国产 在线 | 亚洲精品视频在线 | 精品日韩一区二区 | 久久99久久99精品 | 夜夜草视频| 在线日韩视频 | 午夜免费观看网站 | 国产精品夜间视频香蕉 | www.麻豆| 亚洲国内精品 | 91尤物网站网红尤物福利 | 在线中文视频 | 国产一区二区在线看 | 国产精品久久久久久久久免费软件 | 超碰在线9 | 久久久精品综合 | 九九精品视频在线 | 欧美二区三区 |