zoukankan      html  css  js  c++  java
  • 金额转大写

    import java.math.BigDecimal;

    public class TestBigChar {
        
    public static char[] characters = { '''''''''''''''','''' };
        
    public static char[] units = {'''''''' ,'','''''','亿'};
        
    public static char[] units2 = {''''};
        

        
    public static void main(String[] args) {        
            System.out.println(convert(
    30000000.84));
        }

        
    public static String convert(double d) {        
            
    //String val =String.valueOf(d);        
            BigDecimal bb
    =new BigDecimal(String.valueOf(d));
            String val 
    =bb.toString();         
            String convert 
    = "";
            
    int index = val.indexOf('.');
            
    for (int i = 0; i < val.length(); i++) {
                
                
    //处理小数点
                if(i==index){
                    
    continue;
                }
                convert 
    +=characters[Integer.parseInt(val.substring(i, i + 1))];
                
                
    //处理整数部分
                if (i < index){
                    
    int b=i;   
                    convert 
    += units[index -(b+1)];                
                }
                
                
    //处理小数部分
                if(i>index){                
                    convert 
    +=units2[i-index-1];
                } 
            }
            
    return convert;
        }

    }

    有一点要说明的是为什么要把double转成BigDecimal呢,这是因为当金额达到到千万时,double的tostring方法会以科学计数法的形式表示,这时程序会因无法解析E而报错,而转换为BigDecimal再tostring方法就不会以科学计数法表示了。
      
  • 相关阅读:
    一个2013届毕业生(踏上IT行业)的迷茫(2)
    一个2013届毕业生(踏上IT行业)的迷茫(1)
    Java 开源博客——B3log Solo 0.6.5 正式版发布了!
    Java 开源博客——B3log Solo 0.6.5 正式版发布了!
    在CSDN博客中添加量子恒道统计功能的做法
    Struts2——(8)struts2中文件的上传
    Struts2——(7)拦截器组件
    让富文本编辑器支持复制doc中多张图片直接粘贴上传
    ASP net 上传整个文件夹
    js文件夹上传
  • 原文地址:https://www.cnblogs.com/Fskjb/p/1578318.html
Copyright © 2011-2022 走看看