电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

java中金額元轉(zhuǎn)萬元工具類的實例

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

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

public static void main(String[] args) { // 具體的金額(單位元) String value = '88000067898'; BigDecimal bigDecimal = new BigDecimal(value); // 轉(zhuǎ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)萬元且四舍五入取整*/ public static String getNumberWan(String value) { BigDecimal bigDecimal = new BigDecimal(value); // 轉(zhuǎ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)萬元且保留兩位小數(shù)并四舍五入*/ public static String getNumberWanTwo(String value) { BigDecimal bigDecimal = new BigDecimal(value); // 轉(zhuǎ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; }

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

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

例如:

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

由于是從開發(fā)過程中代碼直接copy過來的,有一部分可以忽略,新人剛剛工作,寫的不好,請多指正

import java.util.Scanner;public class Test { //數(shù)字單位 private static final String[] NUMBERS_UNITS= {'拾','佰','仟','萬'}; public static void main(String[] args) { Test st=new Test(); Scanner scanner=new Scanner(System.in); System.out.println('請輸入金額:'); //獲取前端傳遞過來的金額數(shù)字 String money=scanner.nextLine(); //1.判斷是否為null st.isNull(money); //2.判斷是否有非法字符 st.isIllegal(money); //3.判斷是否超過限額 String[] array=st.isBeyondMax(money); //4.整數(shù)位字符轉(zhuǎn)換 StringBuffer chineseInt=st.convertInt(array[0]); //5.判斷有無小數(shù)位 if(array.length==2) { //6.有則進行小數(shù)位字符轉(zhuǎn)換 StringBuffer chineseDec=st.convertDec(array[1]); //7.拼接整數(shù)和小數(shù)位 chineseInt=chineseInt.append(chineseDec); } //8.將轉(zhuǎn)為大寫的金額設(shè)置回總線 System.out.println(chineseInt); } /** * 將小數(shù)位的金額數(shù)字轉(zhuǎn)化為中文大寫 * @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ù)字對應(yīng)轉(zhuǎn)化為中文大寫 * @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)整個字符串,替換字符 * @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ù)字字符替換為對應(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; } /** * 檢測傳入金額字符是否為空 * @param money 金額字符 */ private void isNull(String money) { if(money == null) { //拋出異常 } } /** * 檢測傳入金額字符是否符合條件 * @param money 金額字符 */ private void isIllegal(String money) { if(!money.matches('d+.?d*')) { //拋出異常 } } /** * 檢測傳入金額字符是否超出最大值 * @param money 金額字符 * @return 返回拆分的金額數(shù)字 */ private String[] isBeyondMax(String money) { String[] array=money.split('.'); //整數(shù)位不能超過9位,小數(shù)位不能超過2為 if(array[0].length()>9 || (array.length>1 &&array[1].length()>2)) { //拋出異常 } return array; }}

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

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | 砂尘试验箱_淋雨试验房_冰水冲击试验箱_IPX9K淋雨试验箱_广州岳信试验设备有限公司 | 乙炔气体报警装置|固定式氯化氢检测仪|河南驰诚电气百科 | 网站优化公司_北京网站优化_抖音短视频代运营_抖音关键词seo优化排名-通则达网络 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 航拍_专业的无人机航拍摄影门户社区网站_航拍网 | 电位器_轻触开关_USB连接器_广东精密龙电子科技有限公司 | 阜阳在线-阜阳综合门户 | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 翅片管换热器「型号全」_厂家-淄博鑫科环保 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | 全自动包装机_灌装机生产厂家-迈驰包装设备有限公司 | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 河南道路标志牌_交通路标牌_交通标志牌厂家-郑州路畅交通 | RTO换向阀_VOC高温阀门_加热炉切断阀_双偏心软密封蝶阀_煤气蝶阀_提升阀-湖北霍科德阀门有限公司 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 电机修理_二手电机专家-河北豫通机电设备有限公司(原石家庄冀华高压电机维修中心) | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 软文发布-新闻发布推广平台-代写文章-网络广告营销-自助发稿公司媒介星 | 众能联合-提供高空车_升降机_吊车_挖机等一站工程设备租赁 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | 便携式表面粗糙度仪-彩屏硬度计-分体式粗糙度仪-北京凯达科仪科技有限公司 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 汕头市盛大文化传播有限公司,www.11400.cc | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 |