用你这个方法是可以判断出来,不过确实如你所说比较啰嗦,而且逻辑有点复杂,你可以用double可以和int转换的特效来搞下,具体如代码所示
public class Test {
public static void main(String[] args) {
double a , b = 5465468545.154516515;
int c = (int) b;
if(c == b) {
System.out.println("b是整数");
}
else {
System.out.println("b不是整数");
}
}
}
这样就可以判断出a和b是不是整数了
用你这个方法是可以判断出来,不过确实如你所说比较啰嗦,而且逻辑有点复杂,你可以用double可以和int转换的特效来搞下,具体如代码所示
public class Test {
public static void main(String[] args) {
double a , b = 5465468545.154516515;
int c = (int) b;
if(c == b) {
System.out.println("b是整数");
}
else {
System.out.println("b不是整数");
}
}
}
这样就可以判断出a和b是不是整数了
他们说的都可以 但是都太菜了 我给你说一个一行代码 : double n=某数
try{Long i = new Long(n);}
catch(Exception e){System.out.println("不是整数");}判断Long以内的都可以 如果太大了的话再想其他办法 都不难。。直接构造函数就可以解决的 为嘛要写那么多代码哦
这个代码没有考虑 b = 3434343.001类似这种情况
import java.text.DecimalFormat;
public class Test {
public static void main(String[] args) {
double a , b = 54534343434.001;
DecimalFormat df = new DecimalFormat("0.00");
String s = df.format(b);
String[] str = s.split("\\.");
a = Double.parseDouble(str[1]);
System.out.println(a);
if(a == 0){
System.out.println("整数");
}else{
System.out.println("不是整数");
}
}
}