如何检查double值是否没有小数部分

Ank*_*kit 69 java double

我有一个双值,我必须在我的UI上显示.现在条件是double = 0的十进制值,例如. - 14.0在这种情况下,我必须在我的UI上只显示14.此外,字符的最大限制为5.

例如,12.34整数值不能大于2位,因此是double的十进制值.

这可能是最好的方法吗?

Lon*_*ula 195

你可以这样做:d % 1 == 0看看有些double d是完整的.

  • @Evgeniy毕竟,'Double.MIN_VALUE`并不完整. (10认同)
  • 这个Double.MIN_VALUE%1 == 0给出错误 (4认同)

Sub*_*der 19

double d = 14.4;
if((d-(int)d)!=0)
    System.out.println("decimal value is there");
else
    System.out.println("decimal value is not there");
Run Code Online (Sandbox Code Playgroud)


Gok*_* KP 11

所有整数都是1的模数.所以下面的检查必须给你答案.

if(d % 1 == 0)
Run Code Online (Sandbox Code Playgroud)


Ank*_*kit 9

ceil和floor应该给出相同的输出

Math.ceil(x.y) == Math.floor(x.y)
Run Code Online (Sandbox Code Playgroud)

或者只是用double值检查是否相等

x.y == Math.ceil(x.y)
x.y == Math.floor(x.y)
Run Code Online (Sandbox Code Playgroud)

要么

Math.round(x.y) == x.y
Run Code Online (Sandbox Code Playgroud)