Object 转换为 BigDecimal

项目中遇到读取Excel文件里面的数据转为金额的情况,为了程序更加的健壮,进行处理如下:

import java.math.BigDecimal;  
import java.math.BigInteger;  
  

public class MathUtils {  
      
    public static BigDecimal getBigDecimal( Object value ) {  
        BigDecimal ret = null;  
        if( value != null ) {  
            if( value instanceof BigDecimal ) {  
                ret = (BigDecimal) value;  
            } else if( value instanceof String ) {  
                ret = new BigDecimal( (String) value );  
            } else if( value instanceof BigInteger ) {  
                ret = new BigDecimal( (BigInteger) value );  
            } else if( value instanceof Number ) {  
                ret = new BigDecimal( ((Number)value).doubleValue() );  
            } else {  
                throw new ClassCastException("Not possible to coerce ["+value+"] from class "+value.getClass()+" into a BigDecimal.");  
            }  
        }  
        return ret;  
    }  
  
  
  
}  

 

posted @ 2017-09-02 10:45  Mr_伍先生  阅读(34236)  评论(0编辑  收藏  举报