jsp:useBean指令

创建名为StringUtil的JavaBean类

package com.cn.zj.bean;public class StringUtil {private String money;        //转换之前的数字金额private String submoneyCN[]={"","拾","佰","仟"};                                   //表示数字位数的数组private String numberCNN[]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};   //大写数字的数组private String je="零壹贰叁肆伍陆柒捌玖";     //大写的数字(0-9)private String cdw="万仟佰拾亿仟佰拾万仟佰拾元角分";  //金额单位public StringUtil(){}     //默认的构造方法public void setMoney(String money){this.money=money;}public String getMoney(){return convert(this.money);}/*** 转换数字金额为大写金额* @return 返回转换后的大写金额*/public String convert(String money){String formatCN="";   int point=money.indexOf(".");                //判断字符串是否包含小数点.indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。if(point!=-1){String money1=money.substring(0,point); //小数点之前的部分String money1_1=(new StringBuffer(money1).reverse()).toString();//字符串倒序String money2=money.substring(point+1); //小数点之后的部分if(money2.length()<2){                 //如果小数点后的部分少于两位,用"0"补齐if(money2.length()==0)money2="00";elsemoney2+="0";}else                                 //如果小数点后的位数大于2位,则只前2位money2=money.substring(point+1,point+3);int len = money1_1.length();            //字符串反转之后,小数点之前的字符位数int pos=len-1;String sigle="";boolean allhavenum=false;boolean havenum=false;boolean mark=false;                      //设置一个开关变量,若当前数为"0",将该值设为true;不为"0"时设为false/**以下代码为读出小数点左面的部分*/while(pos>=0){sigle=money1_1.substring(pos,pos+1);//截取1位数字,比如数字1234.56,将左侧的字符串反转,值为4321,则截取的值为1/**读取“亿单元”的代码。* 假设读取10024531042.34。* 小数点左面反转后为:24013542001* pos的初始值为10* mark的初始值为false* havenum的初始值为false* */      if(pos>=8&&pos<12){ if(!sigle.equals("0")){         //如果当前值不为"0"if(!mark){                    //如果当前值的前一位数不为"0"formatCN+=numberCNN[Integer.parseInt(sigle)]+submoneyCN[pos%4];}else{                         //如果当前值不为"0",但该值的前一位数为"0"if(allhavenum){             //如果在当前值之前有不为"0"的数字出现。该条件用来处理用户输入的如:0012.34的数值formatCN+="零";}formatCN+=numberCNN[Integer.parseInt(sigle)]+submoneyCN[pos%4];mark=false;}havenum=true;allhavenum=true;           //变量allhavenum表示小数点左面的数中是否有不为"0"的数字;true表示有,false表示无}else{                              //如果当前值为"0"mark=true;}if(pos%4==0&&havenum){           //如果当前数字为该单元的最后一位,并且该单元中有不为"0"的数字出现formatCN+="亿";havenum=false;}}/**读取“万单元”的代码*/              if(pos>=4&&pos<8){if(!sigle.equals("0")){if(!mark)formatCN+=numberCNN[Integer.parseInt(sigle)]+submoneyCN[pos%4];else{if(allhavenum){formatCN+="零";}formatCN+=numberCNN[Integer.parseInt(sigle)]+submoneyCN[pos%4];mark=false;}havenum=true;allhavenum=true;}else{mark=true;}if(pos%4==0&&havenum){ formatCN+="万";havenum=false;}}/**读取“个、十、百、千”的代码*/if(pos>=0&&pos<4){if(!sigle.equals("0")){        if(!mark)formatCN+=numberCNN[Integer.parseInt(sigle)]+submoneyCN[pos%4];else{ if(allhavenum){formatCN+="零";}formatCN+=numberCNN[Integer.parseInt(sigle)]+submoneyCN[pos%4];mark=false;       }havenum=true;allhavenum=true;}else{mark=true;}}pos--;          }/**碰到小数点时的读法*/     if(allhavenum)        //如:00.34就不能读为:元3角4分.变量allhavenum表示小数点左面的内容中是否有数字出现formatCN+="元";else                 //如果小数点左面的部分都为0如:00.34应读为:零元3角4分formatCN="零元";/**以下代码为读出小数点右面的部分 */       if(money2.equals("00"))formatCN+="整";else{/**读出角,如120.34读为:1佰2拾元零3角4分;123.04读为:1佰2拾3元零4分*/if(money2.startsWith("0")||(allhavenum&&money1.endsWith("0"))){ formatCN+="零";}if(!money2.startsWith("0")){formatCN+=numberCNN[Integer.parseInt(money2.substring(0,1))]+"角";}//读出分,如:12.30读1拾2元3角零分formatCN+=numberCNN[Integer.parseInt(money2.substring(1))]+"分";}} else{formatCN="输入的格式不正确!格式:888.00";}return formatCN;}
}

创建index.jsp页面,用于输入数字金额

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="convert.jsp" method="post"><table><tr><td align="center" bgcolor="skyblue">请输入金额:</td></tr><tr height="25"><td bgcolor="yellow">金额:<input type="text" name="money" id="money"><input type="submit" value="转换"></td></tr></table>
</form>
</body>
</html>

创建convert.jsp处理页,用于获取表单的请求信息,并调用Bean类的方法转换金额

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%String money=request.getParameter("money");%><jsp:useBean id="strBean" class="com.cn.zj.bean.StringUtil"></jsp:useBean><<jsp:setProperty property="money" name="strBean" value="<%=money %>"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table><tr><td align="center"  bgcolor="skyblue" >转换结果:</td></tr><tr height="25"><td bgcolor="yellow"><jsp:getProperty property="money" name="strBean"/></td></tr>
</table>
</body>
</html>

小写金额转换为大写金额相关推荐

  1. 人民币 小写金额转换为大写金额

    人民币 小写金额转换为大写金额 标签(空格分隔): 人民币 小写金额转换为大写金额 jsp: div class="form-group"> <label class= ...

  2. 小写金额转换为大写金额JS方法

    /**  *function: 小写金额转换为大写金额  *return: 转换后的大写金额,类型String */ function money2Cn(str){  var temp = parse ...

  3. 将小写金额转换为大写金额

    /* 运行环境:MS-SQL 2000 将小写金额转换为大写金额 整数部分最大值:9位数 小数部分最大值:2位 必须格式:整数.小数 状态:完成 Update date:2007-10-07 */ / ...

  4. c语言字符串大写金额,小写金额转换为大写金额(C实现)

    零", "壹", "贰", "叁", "肆", "伍", "陆", & ...

  5. oracle人民币转大写,Oracle 小写金额转换为大写

    在开发EBS的合同报表打印的时候需要将小写金额转换为大写. 如下是本人自己写的转换函数. 主要思路:先获取小数点位置,在区分整数与小数点处理,根据位数和数字组合读取金额. 最后再处理特殊显示部分. / ...

  6. JQuery 数字金额转换为大写金额

    web JQuery 数字金额转换为大写金额 网址:https://blog.csdn.net/qq_36894527/article/details/80675658 function Arabia ...

  7. 人民币小写金额转大写金额

    #region 人民币小写金额转大写金额/// <summary>/// 小写金额转大写金额/// </summary>/// <param name="Mon ...

  8. JS人民币小写金额转换为大写(没毛病)

    /** * 人民币小写金额转换为大写 */ export const digitUppercase = (n) => {let fraction = ['角', '分'] let digit = ...

  9. #小写金额转大写金额

    小写金额转大写金额 闲话不多说,直接上代码: function num_to_rmb($num){ $c1 = "零壹贰叁肆伍陆柒捌玖";$c2 = "分角元拾佰仟万拾佰 ...

  10. C#实现小写金额转大写金额

    最近项目上用到小写转大写金额,公司同事还准备写一段代码来实现,后来发现架构上有现成的. 其实在银行.进销存.CRM等系统中经常可能用到 这个跟大家分享一下: 小写金额转大写 /// <summa ...

最新文章

  1. 打造全球最大规模 Kafka 集群,Uber 的多区域灾备实践
  2. uiiamgeview 设置圆角
  3. [TJOI2018]xor
  4. 霍尔传感器测量转向的方法
  5. csapp:无符号数可能造成的程序bug
  6. 运行scrapy保存图片,报错ValueError: Missing scheme in request url: h
  7. 面试官:为什么 Spring Boot 的 jar 可以直接运行
  8. layui 数据表格代码
  9. dtoj#4179. 排行(rank)
  10. HTML 5 会让iOS和Android开发者转行吗?
  11. ZK框架笔记3、窗体组件
  12. 可道云 docker 群晖_【curl】校园网群晖DS120j自动认证
  13. 即时语音提示软件php,InsTalk即时语音提示校对软件(语音识别和语音合成软件)
  14. libtorch-gpu推理时占用CPU 100%问题解决
  15. 美的oracle财务系统,美的集团Oracle ERP 系统财务操作手册(pdf 73页)
  16. HTTP3 RFC标准正式发布,QUIC会成为传输技术的新一代颠覆者吗?
  17. Mac 运行windows软件
  18. 苹果5越狱教程_iOS 13.3.1 checkra1n 手机越狱?不用电脑也行
  19. 一夜闪崩35%!全球GPU显卡价格开始大幅度跳水
  20. ∫e^(-x^2)dx怎么求 ??用的是什么方法??

热门文章

  1. OSI七层网络协议(应用层:http协议、传输层:TCP协议、网络层:IP协议,数据链路层:ARP协议、网络下一跳,物理层:比特流)
  2. 韩立刚Linux基础入门,Linux入门基础笔记1(韩立刚课程)(示例代码)
  3. 可靠性测试设备技术含量_可靠性测试中心
  4. matlab做挖掘机仿真,基于Proe_Adams_Matlab挖掘机的机电液一体化仿真
  5. php公文流转管理系统,OA办公系统公文流转
  6. uni-app引入阿里图标【单色】
  7. thinkpad x250装黑苹果教程_GitHub - siweijianrong/Hackintosh: Hackintosh黑苹果长期维护机型EFI及安装教程整理...
  8. huaweiPush模块使用说明
  9. 电路串联和并联图解_如何识别串联电路和并联电路
  10. 基于Hadoop的数据分析案例-陌陌聊天软件数据分析