java的求余为什么给出的结果不对啊

我用书本上的浮点数去求余,没问题,但是换了两个数就求不出正确的结果,什么情况。比如,2.03%1.7,结果居然是0.3299999999999984,而2.3%1.7的结... 我用书本上的浮点数去求余,没问题,但是换了两个数就求不出正确的结果,什么情况。比如,2.03%1.7,结果居然是0.3299999999999984,而2.3%1.7的结果是0.599999999999999,开什么玩笑,这是java本身的问题还是我数学没学好,我现在都搞不清楚了。
我是这么写的public class a
{
public static void main(String[] args)
{
double a=2.3;
double b=1.7;
double c=a%b;
System.out.println(c);
}
}
新手,勿喷。。。
展开
 我来答
郭伟guowei郭伟
2015-10-17 · 超过23用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:52万
展开全部
取余应该只能是整数的操作吧。2.3%1.7的结果是0.599999999999999,应该是浮点数精度的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友11e10da
2015-10-17 · 超过14用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:26万
展开全部
double类型引起的精度损失,你以后会经常遇到,javaAPI提供了BigDecimal类,你可以用这个类来保证精度,你要是初学者先不要关心这个,知道就行,以后做有关金钱方面的项目都会处理这个问题的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
解0人
2015-10-17 · TA获得超过2389个赞
知道大有可为答主
回答量:1474
采纳率:83%
帮助的人:761万
展开全部
貌似你数学没学好...
很明显代码没错,结果没错。
追问
我也奇怪java为啥能浮点数求余
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式