双精度值中的空值应打印 0



我有一个小疑问,我无法解决这个问题,那就是我有一个存储双精度值的双精度变量,但我希望它打印 0 而不是 0.0 当它没有数据时,但无论我尝试什么,我都无法让它工作 例如:

double a = 0;
System.out.println(a);

应该给我 0 而不是 0.0

我知道这是一个愚蠢的问题,但谁能指出我正确的方向,提前谢谢你。

使用如下所示的方法:

double a = 0.0;
System.out.println(formatA(a));
static String formatA(double a) {
    if (a == 0.0)
        return "0";
    else
        return String.valueOf(a);
}

您可以将变量 'a' 的类型转换为整数。

double a = 0;
System.out.println((int)a);

人,double a = 0;是十进制类型。 你会做:

更改值的类型

int a = 0

或者,也可以强制转换值。

System.out.println((int) a);
如果不想

看到双精度值的小数部分,可以将其转换为长整型值。请注意,将其转换为"int"值不是一个好主意,因为最大"双精度"值大于最大"整数"值。

double a = 0;
System.out.println((long)a);

最新更新