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. plesk 关闭维护模式

    最近遇到访问plesk时出现maintanase mode模式,于是网上搜了答案都是老外的,且没有明确怎么解决,但可能造成这一问题的原因也很多,我这个是这么解决的,和大家分享下,希望可以起到一个思路引 ...

  2. java学习日记20230302-字符

    JAVA字符 char c1 = 97 System.out.println(c1)// a 会输出97代表的字符(字符编码) 字符类型细节: 字符常量用单引号 java中允许使用\转义字符代表一个字 ...

  3. C# HttpClient 上传大文件带进度

    在Httpclient 上传文件时 需要显示进度,需要添加 ProgressMessageHandler 在NuGet中添加 引用Microsoft.AspNet.WebApi.Client  一下是 ...

  4. c++ 从编译到执行

    参考博客 原理分析 结合实例 看别人的博客上拼出答案.不会就先模仿吧. 这个是今日头条面试时候的一个题目,当时别提答的多烂了,感觉一个题目准备深了还是非常耗费时间的.小论文一样.c/c++从编译到执行 ...

  5. 提升IIS权限

    如何去修改IIS的权限   在IIS中当前网站高级设置中查看-应用程序池-修改标识-标识代表权限 可以通过调整应用程序池权限来维持后门. 安装IIS.支持.aspx脚本.是为了用木马查看权限. 上面的 ...

  6. .netcore部署linux、国产化环境

    前言: 本文基于centos7.9操作系统,服务器x86/x64,所有操作在虚拟机中操作,记录部署过程中出现的问题,在此记录解决方案. 查看系统版本命令: cat/etc/redhat-release ...

  7. 00_java进阶笔记

    _01_Object类 /* * java.util.Object Object类是最顶层的类,每个类都使用Object类作为父类 * 所有对象(包括数组)都实现这个类的方法 * 注: * 使用toS ...

  8. 布尔类型:boolean

    布尔类型 基本介绍 布尔类型也叫boolean类型,其数据只允许取值true和false,无null boolean类型占1个字节 boolean类型适于逻辑运算,一般用于程序流程控制: if条件控制 ...

  9. Linux,Lnmp配置Index of /索引页

    其实很简单就是修改conf配置文件 进入域名对应的vhost修改conf文件: 第一种方法 cd /usr/local/nginx/vhost/ 在清楚当前域名所对用的conf文件可以试用 ll 列出 ...

  10. Flink1.11 解决 No ExecutorFactory found to execute the application

    在使用Flink1.11的时候写了个本地Test 运行的时候发现报错了,具体如下 Exception in thread "main" java.lang.IllegalState ...