Object 转换为 BigDecimal

简介: 项目中遇到读取Excel文件里面的数据转为金额的情况,为了程序更加的健壮,进行处理如下:import java.math.BigDecimal; import java.math.BigInteger; public class MathUtils { ...

项目中遇到读取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;  
    }  
  
  
  
}  

 

相关文章
Object转Map的两种方式
在平时的工作中,有时候需要将Object转换成Map。笔者这里总结了两种将Object转成Map的方式方法。
7746 0
|
Java C++ Spring
解决NoUniqueBeanDefinitionException异常的方法
了解Spring框架中`NoUniqueBeanDefinitionException`异常的原因和解决方案。此异常发生在容器内有多个相同类型的bean时,Spring无法决定注入哪个bean。解决方法包括:使用`@Primary`注解标记首选bean,利用`@Qualifier`注解配合`@Autowired`、`@Resource`、`@Inject`或`@Value`指定bean名称。选择哪种方法取决于业务需求和具体场景,预防措施是避免创建多个同类型bean或使用`@Primary`注解。
563 0
|
JavaScript
VUE element-ui之el-form表单点击按钮自动增加表单(输入框),可新增删除
VUE element-ui之el-form表单点击按钮自动增加表单(输入框),可新增删除
2486 0
VUE element-ui之el-form表单点击按钮自动增加表单(输入框),可新增删除
WK
|
机器学习/深度学习 运维 Devops
Python语言在哪些场景下有很明显优势?
Python在多样场景中展现出显著优势,包括:通过强大的库如Pandas、NumPy、Scikit-learn等在数据科学与机器学习中的应用;利用简洁语法和集成能力在自动化运维及DevOps中的作用;借助Django、Flask等框架在网页开发与网络编程方面的表现;凭借快速迭代能力在原型开发中的效率;通过NumPy、SciPy等库在科学研究与工程计算的支持;以及因其易学特性在教育领域的普及。这些特点使Python成为多领域开发的优选语言。
WK
370 5
|
12月前
|
前端开发 UED 开发者
React 日期选择器 Date Picker
本文从React的角度探讨了日期选择器的使用方法,包括使用`react-datepicker`库的基本配置、自定义样式、国际化设置、常见问题及解决方案,旨在帮助开发者构建用户友好的日期选择组件。
411 12
|
SQL Oracle 关系型数据库
解决Oracle的状态: 失败 -测试失败: IO 错误: The Network Adapter could not establish the connection
解决Oracle的状态: 失败 -测试失败: IO 错误: The Network Adapter could not establish the connection
2534 0
解决Oracle的状态: 失败 -测试失败: IO 错误: The Network Adapter could not establish the connection
|
数据采集 机器学习/深度学习 数据挖掘
Python数据清洗与预处理面试题解析
【4月更文挑战第17天】本文介绍了Python数据清洗与预处理在面试中的常见问题,包括Pandas基础操作、异常值处理和特征工程。通过示例代码展示了数据读取、筛选、合并、分组统计、离群点检测、缺失值和重复值处理、特征缩放、编码、转换和降维。强调了易错点,如忽视数据质量检查、盲目处理数据、数据隐私保护、过度简化特征关系和忽视模型输入要求。掌握这些技能和策略将有助于在面试中脱颖而出。
600 8
|
安全 Java 数据安全/隐私保护
Spring Boot优雅实现多租户架构:概念与实战
【4月更文挑战第29天】在多租户系统中,一个应用实例服务于多个租户,每个租户享有独立的数据视图,而应用的基础设施被共享。这样的架构不仅优化了资源使用,还能降低维护和运营成本。本文将详细介绍如何在Spring Boot中实现多租户架构,并提供具体的实战案例。
565 2
|
XML JSON API
通过Flask框架创建灵活的、可扩展的Web Restful API服务
通过Flask框架创建灵活的、可扩展的Web Restful API服务
382 1
|
安全 网络安全 数据安全/隐私保护
Mendelson AS2 介绍下载和配置
Mendelson AS2 介绍下载和配置