java语言中 如何判断 一个 double形变量a 是否是整数

Scannersc=newScanner(System.in);System.out.println("请输入double类型的数字:");doubled=sc.next... Scanner sc = new Scanner(System.in);
System.out.println("请输入double类型的数字:");
double d = sc.nextDouble();
int i = String.valueOf(d).indexOf(".");
if(d%Integer.parseInt(String.valueOf(d).substring(0, i))==0){
System.out.println("输入的数字是整数");
}else{
System.out.println("输入的数字不是整数");
}
展开
 我来答
旅初彤2B
2017-09-13 · TA获得超过2.6万个赞
知道大有可为答主
回答量:4.4万
采纳率:65%
帮助的人:5394万
展开全部
lic static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入double类型的数字:");
double d = sc.nextDouble();
if((int)d == d){ //强制转换后会丢失精度,如果丢失精度的数和原数相等,说明就是整数
System.out.println("输入的数字是整数");
}else{
System.out.println("输入的数字不是整数");
}
优质内容提供者andy
2017-09-13 · TA获得超过1561个赞
知道大有可为答主
回答量:2551
采纳率:72%
帮助的人:758万
展开全部
我也觉得你这个方法看起来不太准确,应该强制转换成整数比较是否和当前的数是否相等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3b4b748
2017-09-13 · TA获得超过1059个赞
知道小有建树答主
回答量:760
采纳率:63%
帮助的人:271万
展开全部
a==(int)a

不等于就是带小数咯
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
璩山彤2k
2017-09-13 · TA获得超过296个赞
知道小有建树答主
回答量:386
采纳率:75%
帮助的人:72.8万
展开全部
String s = "10.0";
double d = Double.parseDouble(s);
int i = Integer.valueOf(String.valueOf(s).substring(0, s.indexOf(".")));
System.out.println(d==i);

判断测试一下就好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伪墨墨墨墨墨
2017-09-13 · TA获得超过2210个赞
知道大有可为答主
回答量:1678
采纳率:85%
帮助的人:938万
展开全部
Math.abs(xMath.round(x)) <= 0.000000001
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式