java中double类型如果小数点后为零显示整数否则保留

实体类中有get set方法当通过get取值的时候又会变成xx.0求解
2024-11-23 08:59:45
推荐回答(2个)
回答1:

  1. Double是对象,double是基本类型。

  2. 你好Double类型是double的包装类,在JDK1.5以后,二者可以直接相互赋值,称为自动拆箱和自动装箱。看你的提示,我推测你的jdk版本在1.5以前。

  3. 如果是这样,可以用Double中的方法,将包装类转为基本数据类型,如:
    double amount = rec.getAmount().doubleValue() 。

Java基本类型:

  1. Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。

  2. 数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。

  3. 实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类java.lang.Void,不过我们无法直接对它们进行操作。

回答2:

写一个转换的方法,给了两种方式,代码如下:

public static void main(String[] args) {

System.out.println(doubleTrans1(3.0));

}

//方法一
public static String doubleTrans1(double num){
if(num % 1.0 == 0){
return String.valueOf((long)num);
}
return String.valueOf(num);
}

//方法二
public static String doubleTrans2(double num){
if(Math.round(num)-num==0){
return String.valueOf((long)num);
}
return String.valueOf(num);
}