我在写一个JAVA计算器,怎样可以使输入的整数显示为无小数位?

就是如果我输入3+4,运算后希望它显示为7,而不是7.0?我的代码是:if(txtresult.getText().trim().equals("0")){}else{s... 就是如果我输入3+4,运算后希望它显示为7,而不是7.0?
我的代码是:if(txtresult.getText().trim().equals("0")){}
else{
switch(z)
{
case 1 : txtresult.setText(""+(x+y));break;
case 2 : txtresult.setText(""+(x-y));break;
case 3 : txtresult.setText(""+(x*y));break;
case 4 : txtresult.setText(""+(x/y));break;
}
x = Double.parseDouble(txtresult.getText().trim());
y = 0;
str.setLength(0);

问题出在 x = Double.parseDouble(txtresult.getText().trim());这里!!!
展开
 我来答
samson831
2011-03-12 · TA获得超过554个赞
知道小有建树答主
回答量:503
采纳率:0%
帮助的人:262万
展开全部
你可以取整再比较一下,若是相等,就用整数,若不等,就证明是小数,就用原来的结果
大楞佬
2011-03-12 · TA获得超过313个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:189万
展开全部
int x=(int) Double.parseDouble(txtresult.getText().trim());
追问
可是如果我的x是小数的时候不也变成整数了?
追答
你要四舍五入吗?int x=Math.round(Double.parseDouble(txtresult.getText().trim()));
还是要什么?如果想要小数变成整数,而数字不变的话,可以把它转换成string,
double d=150.25;
String str=String.valueOf(d*1000);
String s=str.substring(0, str.length()-2);

System.out.println(s);
Integer sr=Integer.parseInt(s);
System.out.println(sr);
仅仅是一点思路,权当参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友49d1153e
2011-03-12 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:88.7万
展开全部
用Math.floor()或者Math.cell()方法,还有可以使用字符串的subString()方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rostazheng
2011-03-12 · 超过15用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:44.4万
展开全部
你确定你接收的类型是int?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式