先上结论:不要直接用double变量作为构造BigDecimal的参数! 线上有这么一段Java代码逻辑: 1,接口传来一个JSON串,里面有个数字:57.3。 2,解析JSON并把这个数字保存在一个float变量。 3,把这个float变量赋值给一个 BigDecimal对象 ...
先上结论:不要直接用double变量作为构造BigDecimal的参数。 线上有这么一段Java代码逻辑: ,接口传来一个JSON串,里面有个数字: . 。 ,解析JSON并把这个数字保存在一个float变量。 ,把这个float变量赋值给一个 BigDecimal对象,用的是BigDecimal的double参数的构造: new BigDecimal double val ,把这个BigDeci ...
2020-04-08 16:48 0 813 推荐指数:
先上结论:不要直接用double变量作为构造BigDecimal的参数! 线上有这么一段Java代码逻辑: 1,接口传来一个JSON串,里面有个数字:57.3。 2,解析JSON并把这个数字保存在一个float变量。 3,把这个float变量赋值给一个 BigDecimal对象 ...
如上图,精度后只有一位时,是五舍六入。 如上图,精度后只有第一位不为0时,也是五舍六入。 如上图,精度后至少有 ...
a = 12345678910L; float,double 比如 double elur = 0. ...
java内部使用unicode字符集 unicode字符集中的字符超出了2^16个,使用2个字节(16位)已经不能表示所有的字符了。具体使用几个字节表示一个字符与具体的编码方式有关 utf8使用1-8个字节表示一个字符 utf16使用2个字节或者4个字节表示一个字 ...
前言 之前遇到过使用Optional之后带来的隐含bug,现在强调记录一下不好的用法,防止错用。 Optional不能序列化,不能作为类的字段(field) 这点尤为重要,即类要纯粹。如果是 ...
1.接口是常量与抽象方法的集合,没有变量与方法的实现; 2.接口(interface)是一种特殊的抽象类,在这种抽象类里面,所有的方法都是抽象方法,并且这个抽象类的属性(即成员变量)都是声明成“pu ...
Java 中常见的锁有 synchronized 可重入锁 java.util.concurrent.lock.ReentrantLock 可重复读写锁 java ...