Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 391|回复: 0

[Java基础知识]小写金额转换成大写金额的函数

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-1 02:50:50 | 显示全部楼层 |阅读模式
    public class Test{

       public static String numtochinese(String input){  
          String s1="零壹贰叁肆伍陆柒捌玖";  
          String s4="分角整元拾佰仟万拾佰仟亿拾佰仟";  
          String temp="";  
          String result="";  
          if (input==null)
            return "输入字串不是数字串只能包括以下字符(Ɔ"~Ə","."),输入字串最大只能精确到仟亿,小数点只能两位!";  
          temp=input.trim();  
          float f;  
          try{  
               f=Float.parseFloat(temp);  

          }catch(Exception e){
            return "输入字串不是数字串只能包括以下字符(Ɔ"~Ə","."),输入字串最大只能精确到仟亿,小数点只能两位!";
          }  

          int len=0;  
          if (temp.indexOf(".")==-1) len=temp.length();  
          else len=temp.indexOf(".");  
          if(len>s4.length()-3) return("输入字串最大只能精确到仟亿,小数点只能两位!");  
          int n1,n2=0;  
          String num="";  
          String unit="";  

          for(int i=0;i<temp.length();i++){  
           if(i>len+2){break;}  
           if(i==len) {continue;}  
           n1=Integer.parseInt(String.valueOf(temp.charAt(i)));  
           num=s1.substring(n1,n1+1);  
           n1=len-i+2;  
           unit=s4.substring(n1,n1+1);  
           result=result.concat(num).concat(unit);  
          }  
          if ((len==temp.length())||(len==temp.length()-1)) result=result.concat("整");  
          if (len==temp.length()-2) result=result.concat("零分");  
          return result;  
       }  
         
       public static void main(String args[]){
               String s=Test.numtochinese("54564334567.23");
               String s1=Test.numtochinese("5000400003.45");
               System.out.println("54564334567.23="+s);
               System.out.println("5000400003.45="+s1);
       }
      }

    程序运行结果:

    C:java>java   Test
    54564334567.23=伍佰肆拾伍亿陆仟肆佰叁拾叁万肆仟伍佰陆拾柒元贰角叁分
    5000400003.45=伍拾零亿零仟零佰肆拾零万零仟零佰零拾叁元肆角伍分

    C:java>
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-28 23:47 , Processed in 0.373906 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表