import java.math.BigDecimal;
import java.math.RoundingMode; public class Test {
public static void main(String f[]) { Double dto = 1.0/0;
Double vo = dto + 2.0;
Double po = getPresicionScale(vo);
} static Double getPresicionScale(Double actualValue)
{
Double value=0.0;
if(actualValue!=null)
{
return BigDecimal.valueOf(actualValue).setScale( 5, RoundingMode.DOWN).doubleValue();
}
return value;
}
}

  

Exception in thread "main" java.lang.NumberFormatException: Character I is neither a decimal digit number, decimal point, nor "e" notation exponential mark.
at java.base/java.math.BigDecimal.<init>(BigDecimal.java:518)
at java.base/java.math.BigDecimal.<init>(BigDecimal.java:401)
at java.base/java.math.BigDecimal.<init>(BigDecimal.java:834)
at java.base/java.math.BigDecimal.valueOf(BigDecimal.java:1304)
at com.jds.test.httpproxy.miniserver.Test.getPresicionScale(Test.java:19)
at com.jds.test.httpproxy.miniserver.Test.main(Test.java:11)

報錯的堆棧奇特

public static BigDecimal valueOf(double val) {
// Reminder: a zero double returns '0.0', so we cannot fastpath
// to use the constant ZERO. This might be important enough to
// justify a factory approach, a cache, or a few private
// constants, later.
return new BigDecimal(Double.toString(val));
}

1

1/0 沒報錯

1/0+2 沒報錯

Double -> double 沒報錯

在BigDeciaml構造報錯

2

Double.isNaN isInfite 判斷

Double NaN的更多相关文章

  1. 浮点型的三个特殊值 Double.NEGATIVE_INFINITY Double.POSITIVE_INFINITY Double.NaN

    Double.NEGATIVE_INFINITY 负无穷 Double.POSITIVE_INFINITY 正无穷 Double.NaN 非数 注意:浮点数才有无穷的概念,整数是没有的 比如: int ...

  2. NaN 和 Infinity

    using Fasterflect; using System; using System.Collections.Generic; using System.Linq; using System.R ...

  3. ShoneSharp语言(S#)的设计和使用介绍—数值Double

    ShoneSharp语言(S#)的设计和使用介绍 系列(5)- 数值Double 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSh ...

  4. [八]基础数据类型之Double详解

    Double 基本数据类型double  的包装类 Double 类型的对象包含一个 double 类型的字段   属性简介 用来以二进制补码形式表示 double 值的比特位数 public sta ...

  5. 关于整数溢出和NaN的问题

    当Integer i = Integer.MAX_VALUE;i + 1 < i成立, Double.NaN与任何数(包括自己)比较都为false,与js的NaN一样 如下: //整数溢出 In ...

  6. Spark2 Dataset DataFrame空值null,NaN判断和处理

    import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.spark ...

  7. 有趣的NaN类型

    在学习Java集合的时候遇到了Float.isNaN(float)函数,点进去一看就不理解了,函数实现如下: public static boolean isNaN(float v) { return ...

  8. Java中浮点类型的精度问题 double float

    要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法与浮点数的结构组成.因为机器只认识01,你想表示小数,你要机器认识小数点这个东西,必须采用某种方法.比如,简单点的,float四个字 ...

  9. Java中float/double取值范围与精度

    Java浮点数 浮点数结构 要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法,浮点数的结构组成,之所以会有这种所谓的结构,是因为机器只认识01,你想表示小数,你要机器认识小数点这个 ...

  10. 前端学习之NaN浅析

    在学习Java集合的时候遇到了Float.isNaN(float)函数,点进去一看就不理解了,函数实现如下: public static boolean isNaN(float v) { return ...

随机推荐

  1. 运行Java时报错:Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'

    卸载旧的JAVA JDK,安装新版的JDK时,运行cmd的java -version命令遇到这样的报错: Error: opening registry key 'Software\JavaSoft\ ...

  2. mybatis动态标签——foreach批量添加和删除

    <!-- [foreach标签] collection:设置要循环的数组或集合 item:用一个字符串表示数组或集合中的每一个数据 separator:设置每次循环的数据之间的分隔符 open: ...

  3. x-sheet 开发系列教程:初始化配置

    介绍 x-sheet 是一款高性能 Web JavaScript Canvas 电子表格,之前小编写过一篇 x-sheet 入门体验,简单介绍了一下如何使用 x-sheet.这次我们继续深入一下,了解 ...

  4. shell实现接口初次失败告警,恢复也发送一次通知

    1.该shell判断 第一次失败告警,接口恢复发送一次通知 参数:一个参数接口返回结果0 表示成功 1表示失败 脚本详情 [root@localhost bd]# more bd-new.sh #!/ ...

  5. CodeGym自学笔记08——交互对象

    交互对象 用 Java 语言编写的每个程序都由类和对象组成. 1."Java 程序员就像设计工程师一样,只是他们不制作蓝图,而是编写类.船舶零件是根据蓝图制造的,而对象是基于类创建的.&qu ...

  6. 对象可能是类数组对象 不具备数组的原型内的方法 所以可以用call或者apply把this指向改成数组或对象原型

    const arr = [] 2Object.prototype.toString.call(arr) === '[object Array]' // true 3 4 const obj = {} ...

  7. Docker部署Minio文件系统

    MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储. 它是与 Amazon S3 云存储服务兼容的 API. 使用 MinIO 为机器学习.分析和应用程序数据工作 ...

  8. PLSQL DEVELOPER使用

    一.下载plsql developer.(oracle官网下载地址:https://www.oracle.com/technetwork/topics/winsoft-085727.html) 二.下 ...

  9. Mysql压缩包版本安装

    之前一直使用的是安装包,今天懒得去下载了,直接用压缩包安装,记录一下. 1.先去官网下载压缩包.https://dev.mysql.com/downloads/mysql/8.0.html 2.将文件 ...

  10. js复选框,三层结构

    最终实现效果如下 html+css如下 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 < ...