将数字转为中文金额的大写方式(Java版)

  1. /**  
  2.  * 程序目的:  
  3.  *   从命令行接收一个数,并将其转化为中文金额的大写方式  
  4.  * 例如 123.45 --> 壹佰贰拾叁元肆角伍分  
  5.  * @sai
  6.  *  
  7.  *   看到网上有很多这样的例子程序,不过觉得很不满意。有些程序我从命名上就觉得  
  8.  * 实在是不符合规范,程序里面的算法没有让人明白得很清楚的注释,读上去觉得有  
  9.  * 点难度,可读性不强。而且很多程序还存在不少bug,随便一测就测出来了。  
  10.  *   所以本人还是决定重新写一下这个程序,并且尽量做到消除不必要的bug。这个程  
  11.  * 序我没有用什么很精妙的算法,不过用了一些Java类库中的类,像是正则表达式之类  
  12.  * 的东西。由于本人对算法不怎么在行,在做转换操作的时候用的是很笨的方法。望各位  
  13.  * 大虾海涵,呵呵。  
  14.  *   
  15.  *   程序的注释我尽量写得详细一点,如果觉得这个程序哪里有问题或者是哪里有改进的  
  16.  * 地方欢迎随时跟我交流。
  17.  */  
  18. public class Trans2RMB {   
  19.   
  20.     /**  
  21.      * 测试程序的可行性  
  22.      * @param args  
  23.      */  
  24.     public static void main(String[] args) {   
  25.         System.out.println("\n--------将数字转换成中文金额的大写形式------------\n");   
  26.         Trans2RMB t2r = new Trans2RMB();   
  27.         String s = t2r.cleanZero(t2r.splitNum(t2r.roundString(t2r.getNum())));   
  28.         // 如果转换过后是一个空串,则不输出屏幕   
  29.         if(!"".equals(s)) {   
  30.             System.out.println("转换成中文后为:" + s);;   
  31.         }   
  32.         System.out.println("\n---------------------------------------------");   
  33.     }   
  34.        
  35.     /**  
  36.      * 从命令行接收一个数,在其中调用 checkNum() 方法对其进行  
  37.      * 验证,并返回相应的值  
  38.      * @return 如果输入合法,返回输入的这个数  
  39.      */  
  40.     private String getNum() {   
  41.         String s = null;   
  42.         System.out.println("请输入一个数字(精确到小数点后两位):");   
  43.         // 从命令行输入这个浮点数   
  44.         java.util.Scanner scanner = new java.util.Scanner(System.in);   
  45.         s = scanner.next();   
  46.         // 关闭这个Scanner   
  47.         scanner.close();   
  48.         // 判断用户输入是否合法   
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值