Java 如何确定一个数字是以.5结尾还是以.0结尾

Java 如何确定一个数字是以.5结尾还是以.0结尾,java,module,numbers,Java,Module,Numbers,我只是想知道你们能不能帮我解决一个问题 double num = 2.0 if(num%1 != 0) { System.out.println("hi"); } else if(num%.5 != 0) { System.out.println("hi there"); } 基本上,我想确保用户输入的数字以.0或.5结尾…但我很难计算出来。上面的“解决方案”是我提出的,但似乎不起作用。任何指针?顺便说一句,我对编程比较陌生,因此任何帮助都会非常有用。操作符%处理浮点类型

我只是想知道你们能不能帮我解决一个问题

double num = 2.0

if(num%1 != 0)
{
   System.out.println("hi");


}
else if(num%.5 != 0)
{
   System.out.println("hi there");


}

基本上,我想确保用户输入的数字以.0或.5结尾…但我很难计算出来。上面的“解决方案”是我提出的,但似乎不起作用。任何指针?顺便说一句,我对编程比较陌生,因此任何帮助都会非常有用。

操作符
%
处理浮点类型
float
double
以及Java中的整数类型。任何以“.0”或“.5”结尾的数字都可以被
0.5
整除

if (num % 0.5 == 0)
{
    System.out.println("Ends in .0 or .5!");
}
试试这个

    if (num - Math.rint(num) == 0) {
        System.out.println("hi");
    } else if (Math.abs(num - Math.rint(num)) == 0.5) {
        System.out.println("hi there");
    }

2.0
2.5
一样,只能被
0.5
整除。您需要
%1==0.5