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方法就不会以科学计数法表示了。
      
  • 相关阅读:
    nginx命令
    Ubuntu的Unable to locate package无法更新源问题解决方案
    Django中使用后台网站模板
    RobotFramework添加自定义关键字实战
    python的requests库怎么发送带cookies的请求
    Django不能使用ip方式访问的解决办法
    Django工程中使用echarts怎么循环遍历显示数据
    python的requests库详解
    RobotFramework与Redis库连接
    PHP 两个多维数组根据某个键的值进行组合排序的几种思路(二)
  • 原文地址:https://www.cnblogs.com/Fskjb/p/1578318.html
Copyright © 2011-2022 走看看