当前位置:  技术问答>java相关

请问各位大侠:如何将小写数字转换成大写?

    来源: 互联网  发布时间:2015-02-01

    本文导语:  比如12345678元换成:壹千贰佰叁拾肆万伍千陆佰柒拾捌元 如果哪位能说明相关的类、函数、算法等也给分,分可以加,没问题 | string dx_sz,dx_dw,str_int,str_dec,dx_str,fu,a,b,b2,c,d,result long num_int,num_dec,len_int,i,a_i...

比如12345678元换成:壹千贰佰叁拾肆万伍千陆佰柒拾捌元
如果哪位能说明相关的类、函数、算法等也给分,分可以加,没问题

|
string dx_sz,dx_dw,str_int,str_dec,dx_str,fu,a,b,b2,c,d,result
long num_int,num_dec,len_int,i,a_int,pp

dx_sz = "零壹贰叁肆伍陆柒捌玖" 
dx_dw = "万仟佰拾亿仟佰拾万仟佰拾元" 

  //处理小于零情况
if ls0) and (ls0 then 
 str_int = mid(dx_str,1,pos(dx_str,".")-1)
else
str_int = dx_str 
end if 
num_int = long(str_int) 

  //取得小数及小数串
if (ls>0) and (ls= 10 then
    a_int = long(mid(str_dec,1,1)) 
    a = mid(dx_sz,(a_int*2+1),2) 
    a_int = long(mid(str_dec,2,1)) 
    b = mid(dx_sz,(a_int*2+1),2) 
    if a"零" then a = a+"角" 
    if b  "零" then
b = b+"分"
    else 
b= "" 
    end if
    dx_str = dx_str + a + b 
  end if
  if ls= 0 then dx_str = "零元整" 
  dx_str = fu+dx_str 
  
  result = dx_str 

return result


这是一个函数,以前在PB里编的!你用JSP实现思路是一样的哦!不过JSP我没接触过!努力吧!

|
test.htm



 jsp test 










change.jsp

 0; i--)
{
temp = output1.substring(i-1, i);
switch (j)
{
case 0:
break;
case 1:
temp += "拾";
break;
case 2:
temp += "佰";
break;
case 3:
temp +="仟";
break;
case 4:
if (output.indexOf("万") > 0)
{
temp += "亿";
}
else
{
temp += "万";
}
j = 0;
break;
}
output = temp + output;
j++;
}
if (decimal != null)
{
output2 = tochinese(decimal.toCharArray());
return output + "点" + output2;
}
return output;
}
%>


在英文的win2k里面可以正确显示中文。
在千亿范围内的数字可以正确转换。
没有对连续的零进行处理。

|
public class Change1
{
        public  String change(String integer, String decimal)
        {
                String output = new String();
                String output1 = new String();
                String output2 = new String();
                String temp1 = new String();
              //String temp2=" ";
                output1 = tochinese(integer.toCharArray());
                int j = 0,k=0;
                k=output1.length();
                for (int i = k; i > 0; i--)
                {
                        temp1 = output1.substring(i-1, i);
                     /**if(temp1.equals("零"))
                       { 
                   if(temp1.equals(temp2)){
                   temp2=temp1;
                   temp1="";}
                   else {
                   temp2=temp1;
                   if(i==k)temp1="";
               }
                   System.out.println(temp1);
                   }
                else
                {
                 temp2=" ";
                */
                        switch (j%4)
                        {
                                case 0:
                                break;
                                case 1:
                                temp1 += "拾";
                                break;
                                case 2:
                                temp1 += "佰";
                                break;
                                case 3:
                                temp1 +="仟";
                                break;
                       } 
                       if (j==4||j==12)
                               temp1 += "万";
                       if (j==8)
                               temp1 += "亿";
                       output = temp1 + output;
                       j++;
               }
               output+=" "+" "+" ";     
               System.out.println(output);
               int s=0;
               String dx="";
       while(s0) and (ls= 10 then
    a_int = long(mid(str_dec,1,1)) 
    a = mid(dx_sz,(a_int*2+1),2) 
    a_int = long(mid(str_dec,2,1)) 
    b = mid(dx_sz,(a_int*2+1),2) 
    if a"零" then a = a+"角" 
    if b  "零" then
b = b+"分"
    else 
b= "" 
    end if
    dx_str = dx_str + a + b 
  end if
  if ls= 0 then dx_str = "零元整" 
  dx_str = fu+dx_str 
  
  result = dx_str 

return result
试试吧!思路是一样的!!祝你成功!

|
//取得整数及整数串
dx_str = string(ls)
if (ls>0) and (ls0 then 
str_int = mid(dx_str,1,pos(dx_str,".")-1)
else
str_int = dx_str 
end if 
num_int = long(str_int) 

  
如果给出,ls=0.56,那么pp,str_int,num_int分别等于多少啊?请教知道者。

|
good!``

|
记得以前也有这个问题,有JAVA代码,但忘记了,你查找看看。

|
请问今天:pos(dx_str,".")是个什么函数?

|
谁回答都行,急!!

|
点号在字符窜中的位置

|
点号在字符窜中的位置

|
相当于格式化输出。

|
那mid(string a,int b,int c)是起什么作用

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • (急)请问大侠,JDK怎么配置?
  • 请问大侠们,谁有办法屏蔽掉ctrl+c这个热键呀????急呀!!!!
  • 请问那位大侠使用过nohup命令,给我一点资料好吗?
  • 请问各位大侠:有没有《linux下QT编程入门》这本书的完全版?
  • 请问大侠们,IPPROTO_ICMP的宏定义在哪儿??
  • 各位大侠请问现在学那一种Linux好?
  • 请问大侠,我的linux 7.3 安装后汉字显示不正常,如何解决?
  • 请问各位大侠你们是怎么样的?
  • 请问哪位大侠用过Eclipse,能不能介绍点这方面的文章,书和网站,谢了
  • 请问各位大侠,有誰知道red linux 7.x和red advanced server 2.1的区别呢?
  • 我没用过Java,请问各位大侠Java中除了/*...*/用作注释外,还有什么符号可用于注释符?
  • 请问大侠学java要有c语言基础吗?
  • 请问各位大侠一个关于jar命令问题
  • 急求SCO UNIX 5.06的ORACLE补丁包oss459a.z,请问各位大侠,哪里可以下载,急等!!!
  • 请问什么是“设计模式”,有这方面的教材吗?望各位大侠指点指点初学者。谢谢!
  • 请问各位大侠,有哪位知道哪个软件在windows下访问到unix系统里
  • 请问哪位大侠有jrun stdio3.01的注册码
  • 请问大侠,有什么方法能对JSP程序页面自动刷新。
  • 请问各位大侠Linux怎么发音?
  • 请问大侠如何把linux安装过程中的画面保存下来?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的. iis7站长之家
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3