String字符串转BigDecimal时,报NumberFormatException异常的解决

 更新时间:2023年07月13日 16:55:32   作者:沙滩de流沙  
这篇文章主要介绍了String字符串转BigDecimal时,报NumberFormatException异常的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

String字符串转BigDecimal时,报NumberFormatException异常

最近发现项目的后台有报NumberFormatException异常错误,

如下:

后来找到对应位置看了一下,发现是String字符串转BigDecimal时报了错,

于是写了个demo验证一下:

传入字符串为null时就会报错,所以这里要对传入的字符串进行判空。

String转BigDecimal遇到的坑

1、string类型转换BigDecimal的时候,一定要进行非空判断。

2、如果是带有千分位的string数字,直接转换会报java.lang.NumberFormatException,例如下面代码:

String a="3,100.55";
BigDecimal b=new BigDecimal(a);
System.out.println(b);

解决方法

String a="3,100.55";
BigDecimal b=new BigDecimal(a.replace(",",""));
System.out.println(b);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java 括号匹配问题案例详解

    Java 括号匹配问题案例详解

    这篇文章主要介绍了Java 括号匹配问题案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • JAVA设计模式之解释器模式详解

    JAVA设计模式之解释器模式详解

    这篇文章主要介绍了JAVA设计模式之解释器模式详解,解释器模式是类的行为模式,给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器,需要的朋友可以参考下
    2015-04-04
  • Java Spring boot 2.0 跨域问题的解决

    Java Spring boot 2.0 跨域问题的解决

    本篇文章主要介绍了Java Spring boot 2.0 跨域问题的解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Mybatis-plus通过添加拦截器实现简单数据权限

    Mybatis-plus通过添加拦截器实现简单数据权限

    系统需要根据用户所属的公司,来做一下数据权限控制,具体一点,就是通过表中的company_id进行权限控制,项目使用的是mybatis-plus,所以通过添加拦截器的方式,修改查询sql,实现数据权限,本文就通过代码给大家详细的讲解一下,需要的朋友可以参考下
    2023-08-08
  • IntelliJ IDEA 2018 最新激活码(截止到2018年1月30日)

    IntelliJ IDEA 2018 最新激活码(截止到2018年1月30日)

    这篇文章主要介绍了IntelliJ IDEA 2018 最新激活码(截止到2018年1月30日)的相关资料,需要的朋友可以参考下
    2018-01-01
  • SpringCloud之consul服务注册与发现、配置管理、配置持久化方式

    SpringCloud之consul服务注册与发现、配置管理、配置持久化方式

    这篇文章主要介绍了SpringCloud之consul服务注册与发现、配置管理、配置持久化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 基于Java SSM的健康管理小程序的实现

    基于Java SSM的健康管理小程序的实现

    本篇文章主要为大家分享了基于SSM健康管理小程序的设计与实现。感兴趣的小伙伴可以了解一下
    2021-11-11
  • Java使用C3P0数据源链接数据库

    Java使用C3P0数据源链接数据库

    这篇文章主要为大家详细介绍了Java使用C3P0数据源链接数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 详解Java数组的定义和声明方法

    详解Java数组的定义和声明方法

    在Java开发中,数组是最常用的数据结构之一,因此,深入了解Java数组的定义和声明是非常必要的,本文将详细介绍Java数组的定义和声明方法,以及其在实际开发中的应用场景、优缺点等方面,需要的朋友可以参考下
    2023-11-11
  • Spring Boot跨域问题详解

    Spring Boot跨域问题详解

    在Spring Boot中处理跨域问题非常简单,你可以通过全局配置、注解或自定义过滤器的方式来控制跨域请求的行为,本文给大家介绍Spring Boot跨域问题简介,感兴趣的朋友跟随小编一起看看吧
    2023-09-09

最新评论