java中浮点型小数之间运算引发的问题

今天做一个android计算器,在进行小数点运算时,发现一个好奇怪的事情。
事情是这样的,如下:
package aa;

import java.util.Random;

public class test{

public static void main(String[] args){

float a=Float.parseFloat("3.546");
float b=Float.parseFloat("7.852");
float result=a+b;
System.out.println(a);
System.out.println(b);
System.out.println(result);
}


}
a,b的答案肯定是知道的了,那么大家觉得result的结果会是多少呢?
大家再看一个运算,如下:
package aa;

import java.util.Random;

public class test{

public static void main(String[] args){

float a=Float.parseFloat("3.546");
float b=Float.parseFloat("7.853");
float result=a+b;
System.out.println(a);
System.out.println(b);
System.out.println(result);
}


}
我只是把 float b=Float.parseFloat("7.852");
改成了float b=Float.parseFloat("7.853");
也许大家觉得没什么不一样啊,呵呵,大家机上试试就能发觉异样了,那就是
当float b=Float.parseFloat("7.852");的时候
result的输出是11.398001
而当float b=Float.parseFloat("7.853");的时候
result的输出是11.399,这就奇怪了,怎么小数点的位数会不同了,更奇怪的是
当float b=Float.parseFloat("7.854");时,result=11.4,
这答案真是人才呀,这么智能,那大家知道这是怎么回事吗,知道的解释下哦
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值