java-BigDecimal类加法问题

问题描述

BigDecimal类加法问题

一个整型和一个浮点型相加后小数点后面多出了一串不为零的数字,怎么解?完全颠覆了我的世界观啊!

解决方案

看不清楚啊,贴代码不行吗?但是这个数值类有精度问题。

解决方案二:

很正常,因为浮点数有精度误差和进制转换误差。你可以对结果四舍五入下。

解决方案三:

要么把代码贴出来吧。图片看不清。

时间: 2024-12-31 19:18:57

java-BigDecimal类加法问题的相关文章

Java BigDecimal类用法详解_java

1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合.但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦. 2.BigDecimal简介 BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成.如果为零或正数

Java BigDecimal类的使用和注意事项_java

BigDecimal简介 JDK文档(中文)中的解释如下: 不可变的.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成.如果为零或正数,则标度是小数点后的位数.如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂.因此,BigDecimal 表示的数值是 (unscaledValue × 10-scale). 具体解释 1."BigDecimal 对象的值是不可变的".这点在BigDecimal 对象的运

Java中BigDecimal类的简单用法_java

本文实例讲述了Java中BigDecimal类的简单用法,是Java程序设计中非常实用的技巧,分享给大家供大家参考.具体用法分析如下: 一般来说,一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法进行精确计算.但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和double类无法进行精确计算的缺憾.BigDecimal类位于java.maths类包下.首先我们来看下如何构造一个BigDecimal对象.它的构造函数很多,

如何应用Java的BigDecimal类

5.8 BigDecimal类 双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大 或者更小的数进行运算和处理.Java在java.math包中提供的API类BigDecimal, 用来对超过16位有效位的数进行精确的运算.表5.7中列出了BigDecimal类的主 要构造器和方法. 表5.7 BigDecimal类的主要构造器和方法 构 造 器描 述 BigDecimal(int)创建一个具有参数所指定整数值的对象. BigDecimal(double)创建一个具有参数

保留小数点后两位-关于Java的BigDecimal类处理小数点的问题

问题描述 关于Java的BigDecimal类处理小数点的问题 double C = a + b + c; return new BigDecimal(C).setScale(2, BigDecimal.ROUND_HALF_UP); 上面这个输出结果没问题.但是如果不创建C,直接 return new BigDecimal(a+b+c).setScale(2, BigDecimal.ROUND_HALF_UP); 这样输出的结果就不对了....为什么?? 解决方案 关键看a b c是什么类型的

java中有类的子类一说,那有对象的子对象一说吗?

问题描述 java中有类的子类一说,那有对象的子对象一说吗? java中有类的子类一说,那有对象的子对象一说吗?新手提问莫见笑. 解决方案 类的子类专业点说叫继承,对象的子对象你可以理解成方法的重写或重载等. 解决方案二: 那是不是类中有内部类就可以呢?

漫谈Java实例化类

  Java 中实例化类的动作,你是否还是一成不变 new 对应对象呢?     经手的项目多了,代码编写量自然会增加,渐渐的会对设计模式产生感觉.     怎样使书写出来的类实例化动作,高内聚,低耦合,又兼具一定的扩展能力呢?     本文试图从几段鲜活的代码入手,给大家呈现不一样的 Java 实例化类.     下面代码取自 com.google.zxing 源码实现: public BitMatrix encode(String contents, BarcodeFormat format

创建java只读类

完全可以创建自己的只读类,下面是个简单的例子:   //: Immutable1.java // Objects that cannot be modified // are immune to aliasing. public class Immutable1 { private int data; public Immutable1(int initVal) { data = initVal; } public int read() { return data; } public boole

对Java嵌套类的讨论

摘要:与字段和方法类似,Java允许类是其它类的成员.在这里,我们将嵌套类分为4种--嵌套顶级类(nested top-level classes),成员内部类(instance inner classes),本地内部类(local inner classes)和匿名内部类(anonymous inner classes). 在教授Java时,我经常发现学生尝试在方法中声明其它的方法.不过,与Pascal语言不同--Pascal允许嵌套声明过程procedures(与方法类似),而Java是不允